2024 年 PHP Conference Japan

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_seteuid設定目前行程的有效使用者 ID

說明

posix_seteuid(int $user_id): bool

設定目前處理程序的有效使用者 ID。這是一個需要特權的函式,需要系統上的適當權限(通常是 root)才能執行此函式。

參數

user_id

使用者 ID。

回傳值

成功時返回 true,失敗時返回 false

參見

新增註解

使用者貢獻的註解 1 則註解

1
divinity76 at gmail dot com
4 年前
如果您想透過使用者名稱而不是 UID 設定 UID,請嘗試將其與 posix_getpwnam() 結合使用,

<?php
posix_seteuid
(posix_getpwnam("www-data")["uid"]);
posix_setegid(posix_getpwnam("www-data")["gid"]);
?>

請注意,posix_getpwnam() 會在每次呼叫時讀取 /etc/passwd,如果您需要它快速執行,這樣會更快(只讀取 passwd 一次)
<?php
$posix_user_info
=posix_getpwnam("www-data");
posix_seteuid ($posix_user_info["uid"]);
posix_setegid($posix_user_info["gid"]);
?>

要回到 root 身分,只需將它們設定為 0 即可,

<?php
posix_seteuid
(0);
posix_setegid(0);
?>
To Top