posix_setgid
(PHP 4, PHP 5, PHP 7, PHP 8)
posix_setgid — 現在のプロセスの GID を設定する
説明
現在のプロセスのグループ ID を設定します。 この関数は特権関数であり、実行するにはシステム上において適当な権限 (通常は root) が必要です。 posix_setgid() を最初に、 posix_setuid() を最後にコールするのが、 関数コールの正しい順序となります。
注意:
コール元がスーバーユーザーの場合は、実効グループ ID も設定します。
パラメータ
group_id
-
グループ ID。
例
例1 posix_setgid() の例
この例は、いったん変更した後で実効グループ ID を表示します。
<?php
echo '実グループ ID は '.posix_getgid(); //20
posix_setgid(40);
echo '実グループ ID は '.posix_getgid(); //40
echo '実効グループ ID は '.posix_getegid(); //40
?>
+add a note
User Contributed Notes 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";
?>
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google