posix_seteuid

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

posix_seteuid设置当前进程的有效 UID

描述

posix_seteuid(int $user_id): bool

设置当前进程的有效用户 ID。这是一个特权函数,需要系统上的适当权限(通常是 root)才能执行此函数。

参数

user_id

用户 ID。

返回值

成功时返回 true,失败时返回 false

参见

添加注释

用户贡献的注释 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