PHP 8.4.0 RC4 available for testing

posix_setgid

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

posix_setgidGeçerli sürecin grup kimliğini tanımlar

Açıklama

posix_setgid(int $grup_kimliği): bool

Geçerli sürecin gerçek grup kimliğini tanımlar. Bu işlev normalde root yetkisi gerektirir. Uygun olan posix_setgid() işlevini, posix_setuid() işlevinden önce çağırmaktır.

Bilginize:

İşlev root tarafından kullanıldığında ayrıca etkin grup kimliği de tanımlanır.

Bağımsız Değişkenler

grup_kimliği

Grup kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_setgid() örneği

Örnekte gerçek grup kimliği değişmeden ve değiştikten sonra gösterilmektedir.

<?php
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
posix_setgid(40);
echo
'Gerçek grup kimliğim: '.posix_getgid(); //40
echo 'Etkin grup kimliğim: '.posix_getegid(); //40
?>

Ayrıca Bakınız

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