略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: posix_seteuid

2024-11-14

posix_seteuid

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

posix_seteuidSet the effective UID of the current process

说明

posix_seteuid(int $user_id): bool

Set the effective user ID of the current process. This is a privileged function and needs appropriate privileges (usually root) on the system to be able to perform this function.

参数

user_id

The user id.

返回值

成功时返回 true, 或者在失败时返回 false

参见

add a noteadd a note

User Contributed Notes 1 note

up
1
divinity76 at gmail dot com
1 year ago
if you want to set uid by username rather than uid, try combining it with posix_getpwnam(),

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

note that posix_getpwnam() reads /etc/passwd on each invocation, if you need it to go fast, this should be faster (only read passwd once):
<?php
$posix_user_info
=posix_getpwnam("www-data");
posix_seteuid ($posix_user_info["uid"]);
posix_setegid($posix_user_info["gid"]);
?>

and to go back to being root, just set them to 0,

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

官方地址:https://www.php.net/manual/en/function.posix-seteuid.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3