posix_setgid()
(PHP 4, PHP 5, PHP 7)
Set the GID of the current process
说明
posix_setgid(int $gid): bool
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.
Note:If the caller is a super user, this will also set the effective group id.
参数
- $gid
The group id.
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
范例
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 idposix_getgid()
Return the real group ID of the current process
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"; ?>