PHP Conference Nagoya 2025

posix_geteuid

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

posix_geteuidВозвращает эффективный идентификатор пользователя текущего процесса EUID

Описание

posix_geteuid(): int

Возвращает число, соответствующее эффективному идентификатору пользователя текущего процесса. Посмотрите функцию posix_getpwuid() для получения информации как преобразовать данное число в имя пользователя.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает ID пользователя как int

Примеры

Пример #1 Пример использования posix_geteuid()

Данный пример выводит ID текущего пользователя, затем устанавливает значение для эффективного идентификатора пользователя, используя функцию posix_seteuid(), и показывает разницу между действительным и эффективным идентификаторами пользователя.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo
posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Смотрите также

  • posix_getpwuid() - Возвращает информацию о пользователе, используя его ID
  • posix_getuid() - Возвращает фактический идентификатор пользователя текущего процесса UID
  • posix_setuid() - Устанавливает UID текущего процесса
  • POSIX руководство GETEUID(2)

Добавить

Примечания пользователей 2 notes

up
2
divinity76+spam at gmail dot com
2 years ago
if you for some reason need the euid without depending on php-posix being available, try

<?php
function geteuid_without_posix_dependency(): int
{
try {
// this is faster if available
return \posix_geteuid();
} catch (
\Throwable $ex) {
// php-posix not available.. fallback to hack
$t = tmpfile();
$ret = fstat($t)["uid"];
fclose($t);
return
$ret;
}
}
up
0
Anonymous
2 months ago
Please note the example code shown above is invalid and will fail, since UID 10001 cannot use posix_seteuid to change its UID to 10000
To Top