• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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
    ?>
    

    参见

    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";
    ?>
    

    上篇:posix_seteuid()

    下篇:posix_setpgid()