SETEUID(2)

NOM
seteuid, setegid - Fixer les UID et GID effectifs

SYNOPSIS
#include <sys/types.h>
#include <unistd.h>

int seteuid(uid_t euid);
int setegid(gid_t egid);

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

seteuid(), setegid() : _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600

DESCRIPTION
seteuid() Fixe l'UID effectif du processus en cours. Les processus non privilégiés peuvent uniquement fixer leur UID effectif à la valeur de leur UID réel, de leur UID effectif ou de leur UID sauvé. Ceci fonctionne exactement de la même façon avec setegid() en raisonnant en terme de groupe (GID) au lieu d'utilisateur (UID).

VALEUR RENVOYÉE
En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno contient le code d'erreur.

ERREURS

EPERM
    Le processus n'est pas privilégié (sous Linux : n'a pas la capacité CAP_SETUID dans le cas de seteuid(), ou la capacité CAP_SETGID dans le cas de setegid()), et l'argument euid (resp. egid) n'est pas l'UID (GID) réel, effectif ou sauvé.

CONFORMITÉ
BSD 4.3, POSIX.1-2001.

NOTES
Fixer l'UID (GID) effectif à la valeur de l'UID (GID) sauvé est possible depuis Linux 1.1.37 (1.1.38). Sur un système Unix inconnu, il faut vérifier la présence de la constante _POSIX_SAVED_IDS.

Sous libc 4, libc 5, et glibc 2.0, seteuid(euid) est équivalent à setreuid(-1, euid) et modifie ainsi l'UID sauvé. Sous glibc 2.1, c'est équivalent à setresuid(-1, euid, -1) et ne modifie donc pas l'UID sauvé. Les mêmes remarques sont valables pour setegid().

VOIR AUSSI
geteuid(2), setresuid(2), setreuid(2), setuid(2), capabilities(7), credentials(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 4 juin 2001 et révisée le 22 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 seteuid ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.