Connaître l’utilisateur qui a lancé le programme

Problème

Vous souhaitez connaître l’identifiant de l’utilisateur (UID) qui a lancé le programme. 

Solution

Utilisez getuid().

Discussion

Pour un programme, trois identités d’utilisateur coexistent. Nous y trouvons celle de l’utilisateur dit réel, qui a lancé le programme, celle de l’utilisateur dit effectif, à qui s’appliquent les permissions et une sauvegarde de celle de cet utilisateur si le programme a changé d’identité. La fonction getuid() renvoie l’identifiant de l’utilisateur réel et la fonction geteuid() renvoie celui de l’utilisateur effectif. En général ces deux identités sont les mêmes. Mais vous pouvez les changer en utilisant la recette suivante.

Prototypes


#include <sys/types.h> 
#include <unistd.h> 
 
uid_t getuid (void); 
uid_t geteuid (void);
 

Voir aussi la page de manuel des fonctions getuid() et geteuid().

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Créer un démon
Suivant
Changer d'identité