posix_setgid
(PHP 4, PHP 5, PHP 7, PHP 8)
posix_setgid — Set the GID of the current process
说明
Set the real group 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. The appropriate order of function calls is posix_setgid() first, posix_setuid() last.
注意:
If the caller is a super user, this will also set the effective group id.
参数
group_id
-
The group id.
示例
示例 #1 posix_setgid() example
This example will print out the effective group id, once it is changed.
<?php
echo 'My real group id is '.posix_getgid(); //20
posix_setgid(40);
echo 'My real group id is '.posix_getgid(); //40
echo 'My effective group id is '.posix_getegid(); //40
?>
参见
- posix_getgrgid() - Return info about a group by group id
- posix_getgid() - Return the real group ID of the current process
+添加备注
用户贡献的备注 1 note
jac ¶
13 years ago
if you're going to use this along with posix_setuid, make sure you call posix_setgid first:
<?php
define (PROC_USER, 'john');
define (PROC_GRP, 'admins');
?>
following works:
<?php
$user = posix_getpwnam( PROC_USER );
$group = posix_getgrnam( PROC_GRP);
echo posix_getuid()."\n";
echo posix_getgid()."\n";
posix_setgid($group['gid']);
posix_setuid($user['uid']);
echo posix_getuid()."\n";
echo posix_getgid()."\n";
?>
following will not set gid
<?php
$user = posix_getpwnam( PROC_USER );
$group = posix_getgrnam( PROC_GRP);
echo posix_getuid()."\n";
echo posix_getgid()."\n";
posix_setuid($user['uid']);
posix_setgid($group['gid']);
echo posix_getuid()."\n";
echo posix_getgid()."\n";
?>
备份地址:http://www.lvesu.com/blog/php/function.posix-setgid.php