SETREUID(2)

NOM
setreuid, seteuid - Fixer l'UID reel ou effectif.

SYNOPSIS
#include <unistd.h>

int setreuid(uid_t ruid, uid_t euid);
int seteuid(uid_t euid);

DESCRIPTION
setreuid fixe les UID reel et effectif du processus en cours. Les utilisateurs non-privilegies peuvent changer leur UID reel pour l'UID effectif et inversement. Depuis Linux 1.1.37, il est egalement possible de fixer l'UID effectif a la valeur de l'UID sauve. Seul le Super-User peut effectuer d'autres changements. Fournir une valeur -1 pour l'un ou l'autre des UID reel ou effectif conduit le systeme a laisser cet UID inchange. Actuellement (libc-4.x.x), seteuid(euid) est fonctionnellement equivalent a setreuid(-1, euid). Si l'UID reel est change, ou si l'UID effectif est positionne a une valeur differente de l'ID reel precedent, l'UID sauve va prendre la valeur du nouvel UID effectif.

VALEUR RENVOYEE
setreuid et seteuid renvoient zero s'ils reussissent, et -1 s'ils echouent, auquel cas errno contient le code d'erreur.

ERREURS

EPERM
    le processus en cours n'est pas Super-User et d'autres changement que
    (i) l'echange des UID effectif et reel,
    (ii) positionner l'un des UID a la valeur de l'autre, ou
    (iii) placer l'UID effectif a la valeur de l'UID sauve, ont ete demandes.

CONFORMITE
BSD 4.3. Cette fonction est apparue dans BSD 4.2.

VOIR AUSSI
getuid(2), setuid(2)