posix_geteuid
(PHP 4, PHP 5, PHP 7)
posix_geteuid — Возвращает эффективный идентификатор пользователя текущего процесса EUID
Описание
Возвращает число, соответствующее эффективному идентификатору пользователя текущего процесса. Посмотрите функцию posix_getpwuid() для получения информации как преобразовать данное число в имя пользователя.
Возвращаемые значения
Возвращает ID пользователя как integer
Примеры
Пример #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)
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для управления процессами программ
- POSIX
- posix_access
- posix_ctermid
- posix_errno
- posix_get_last_error
- posix_getcwd
- posix_getegid
- posix_geteuid
- posix_getgid
- posix_getgrgid
- posix_getgrnam
- posix_getgroups
- posix_getlogin
- posix_getpgid
- posix_getpgrp
- posix_getpid
- posix_getppid
- posix_getpwnam
- posix_getpwuid
- posix_getrlimit
- posix_getsid
- posix_getuid
- posix_initgroups
- posix_isatty
- posix_kill
- posix_mkfifo
- posix_mknod
- posix_setegid
- posix_seteuid
- posix_setgid
- posix_setpgid
- posix_setrlimit
- posix_setsid
- posix_setuid
- posix_strerror
- posix_times
- posix_ttyname
- posix_uname
Коментарии
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;
}
}
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