PHP Conference Nagoya 2025

posix_geteuid

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

posix_geteuidDevolver el ID efectivo de usuario del proceso actual

Descripción

posix_geteuid(): int

Devuelve el ID efectivo numérico de usuario del proceso actual. Véase también posix_getpwuid() para información sobre cómo convertirlo en un nombre de usuario utilizable.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve el id de usuario, como un valor de tipo int

Ejemplos

Ejemplo #1 Ejemplo de posix_geteuid()

Este ejemplo mostrará el id del usuario actual y establecerá el id efectivo de usuario en un id aparte usando posix_seteuid(), luego mostrará la diferencia entre el id real y el id efectivo.

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

Ver también

  • posix_getpwuid() - Devolver información sobre un usuario mediante su id de usuario
  • posix_getuid() - Devolver el ID real de usuario del proceso actual
  • posix_setuid() - Establecer el UID del proceso actual
  • POSIX man page GETEUID(2)

add a note

User Contributed Notes 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