PHP 8.4.1 Released!

posix_setgid

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

posix_setgidDefine o GID do processo atual

Descrição

posix_setgid(int $group_id): bool

Define o ID do grupo real do processo atual. Esta é uma função que necessita de privilégios apropriados no sistema (normalmente 'root') para poder cumprir o seu objetivo. A ordem apropriada de chamadas de função é posix_setgid() primeiro, posix_setuid() por último.

Nota:

Se o chamador for um superusuário, isso também definirá o ID do grupo efetivo.

Parâmetros

group_id

O ID do grupo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de posix_setgid()

Este exemplo exibirá o ID do grupo efetivo, uma vez alterado.

<?php
cho
'Meu ID de grupo real é ' . posix_getgid(); // 20
posix_setgid(40);
echo
'Meu ID de grupo real é ' . posix_getgid(); // 40
echo 'Meu ID de grupo efetivo é ' . posix_getegid(); // 40
?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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