posix_geteuid
(PHP 4, PHP 5)
posix_geteuid — Return the effective user ID of the current process
Description
int posix_geteuid
( void
)
Return the numeric effective user ID of the current process. See also posix_getpwuid() for information on how to convert this into a useable username.
Return Values
Returns the user id, as an integer
Examples
Example #1 posix_geteuid() example
This example will show the current user id then set the effective user id to a separate id using posix_seteuid(), then show the difference between the real id and the effective id.
<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>
See Also
- posix_getpwuid() - Return info about a user by user id
- posix_getuid() - Return the real user ID of the current process
- posix_setuid() - Set the UID of the current process
- POSIX man page 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