PHP 8.4.1 Released!

posix_setgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setgid Imposta il GID per il processo corrente

Descrizione

posix_setgid(int $gid): bool

La funzione imposta il reale ID di gruppo per il processo. Poiché questa è una funzione privilegiata occorre avere gli opportuni privilegi (solitamente di root) per poterla eseguire. L'ordine corretto per richiamare la funzione è: posix_setgid() prima, posix_setuid() poi.

Restituisce true in caso di successo, false in caso di fallimento.

add a note

User Contributed Notes 1 note

up
1
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";
?>
To Top