Next: Tailles limites d'un processus Up: Accès aux structures proc Previous: Récupération du PID d'un

Positionement de l'euid, ruid et suid

L'uid d'un processus est l'identification de l'utilisateur exécutant le processus. Le système utilise trois uid qui sont:

euid
uid effective utilisé pour les tests d'accès.
ruid
uid réelle, uid à qui est facturé le temps de calcul.
suid
uid sauvegardée, pour pouvoir revenir en arrière après un setuid.

#include <unistd.h>
int setuid(uid_t uid);
int setgid(gid_t gid);
Fonctionnement:
si euid == 0 (euid de root) les trois uid sont positionnés à la valeur de uid
sinon si uid est égal à ruid ou suid alors euid devient uid. ruid et suid ne changent pas. sinon rien! pas de changements.
Syntaxe identique pour setgid et gid.

La commande setreuid() permet de changer le propiétaire réel du processus, elle est utilisé pendant le login, seul le super utilisateur peut l'exécuter avec succès.



Dominique REVUZ
Mon Feb 2 12:10:31 MET 1998
Une Bug Un mail Merci