posix_setgid

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

posix_setgidEstablecer el GID de proceso actual

Descripción

posix_setgid(int $group_id): bool

Establece el ID real de grupo al proceso actual. Esta en una función privilegiada y necesita los privilegios apropiados (normalmente "root") en el sistema para ser capaza de realizar esta función. El orden apropiado de las llamadas a las funciones es posix_setgid() primero, posix_setuid() la última.

Nota:

Si el llamador es un superusuario también se establecerá el id efectivo de grupo.

Parámetros

group_id

El id de grupo.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de posix_setgid()

Este ejemplo imprimirá el id efectivo de grupo, una vez cambiado.

<?php
echo 'Mi id real de grupo es '.posix_getgid(); //20
posix_setgid(40);
echo
'Mi id real de grupo es '.posix_getgid(); //40
echo 'Mi id efectivo de grupo es '.posix_getegid(); //40
?>

Ver también

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