PHP 8.4.0 RC4 available for testing

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_seteuidModifie l'identifiant d'utilisateur réel (UID) du processus courant

Description

posix_seteuid(int $user_id): bool

Définit l'identifiant du véritable utilisateur du processus courant. C'est une fonction de haut niveau, et vous aurez besoin des droits appropriés (généralement ceux du super utilisateur), sur votre système, pour l'utiliser.

Liste de paramètres

user_id

L'ID de l'utilisateur.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Voir aussi

add a note

User Contributed Notes 1 note

up
1
divinity76 at gmail dot com
4 years ago
if you want to set uid by username rather than uid, try combining it with posix_getpwnam(),

<?php
posix_seteuid
(posix_getpwnam("www-data")["uid"]);
posix_setegid(posix_getpwnam("www-data")["gid"]);
?>

note that posix_getpwnam() reads /etc/passwd on each invocation, if you need it to go fast, this should be faster (only read passwd once):
<?php
$posix_user_info
=posix_getpwnam("www-data");
posix_seteuid ($posix_user_info["uid"]);
posix_setegid($posix_user_info["gid"]);
?>

and to go back to being root, just set them to 0,

<?php
posix_seteuid
(0);
posix_setegid(0);
?>
To Top