Obtenir par programme UID et GID à partir du nom d'utilisateur dans Unix?
Je suis en train d'utiliser setuid() et setgid() pour définir l'id respectif d'un programme d'abandonner ses privilèges vers le bas à partir de la racine, mais de les utiliser j'ai besoin de savoir l'uid et le gid de l'utilisateur, je veux changer de.
Est-il un système d'appel pour ce faire? Je ne veux pas coder en dur ou à analyser à partir de /etc/passwd .
J'aimerais aussi le faire par programme plutôt que d'utiliser:
id -u USERNAME
Toute aide serait grandement appréciée
source d'informationauteur Evan
Vous devez vous connecter pour publier un commentaire.
Ont un look à la getpwnam() et getgrnam() fonctions.
Vous souhaitez utiliser le getpw* de la famille des appels système, généralement dans pwd.h. Il s'agit essentiellement d'un C-interface au niveau de l'information dans /etc/passwd.
Regarder getpwnam et struct passwd.
Vous pouvez utiliser les extraits de code suivants:
Ref: getpwnam() getgrnam()