pour l'utilisateur et le groupe definit par la processus, tu as les fonctions
getuid() et getgid()
pour trouver le groupe d'un utilisateur, ou l'id de l'utilisateur à partir de son nom, je pencherais pour un parse des fichiers /etc/passwd (pour avoir l'UID et le GID de l'utilisateurs) et du fichier /etc/group (pour avoir les GIDs supplémentaires de l'utilisateur)
et il y a probablement des fonctions qui font ca pour toi.
Au fait je suis en train de programmer une application lancée en root qui lance via fork() exec() des exécutables avec un utilisateur spécifié dans un fichier de configuration. la fonction qui me confient est setreuid() mais le problème est que je cherche une fonction qui prends un nom d'utilisateur en paramètre et qui donne en sortie un uid. et la même chose pour le groupe. Car je ne vais pas demander à l'utilisateur landa de me donner l'UID de l'utilisateur... il vas pas trop comprendre...
getpwnam_r si tu as besoin de faire du multi-threads...
Et non, en toute rigueur il vaut mieux éviter de scanner le fichier des mots de passe, car si jamais tu utilises NIS/NIS+ ou un module PAM quelconque ça ne marche plus.
# utilisateur, groupe ou bien processus ?
Posté par NeoX . Évalué à 1.
getuid() et getgid()
pour trouver le groupe d'un utilisateur, ou l'id de l'utilisateur à partir de son nom, je pencherais pour un parse des fichiers /etc/passwd (pour avoir l'UID et le GID de l'utilisateurs) et du fichier /etc/group (pour avoir les GIDs supplémentaires de l'utilisateur)
et il y a probablement des fonctions qui font ca pour toi.
[^] # Re: utilisateur, groupe ou bien processus ?
Posté par Emeric . Évalué à 1.
[^] # Re: utilisateur, groupe ou bien processus ?
Posté par tontonflingueur . Évalué à 2.
getpwnam_r si tu as besoin de faire du multi-threads...
Et non, en toute rigueur il vaut mieux éviter de scanner le fichier des mots de passe, car si jamais tu utilises NIS/NIS+ ou un module PAM quelconque ça ne marche plus.
@+
[^] # Re: utilisateur, groupe ou bien processus ?
Posté par Emeric . Évalué à 1.
ça tombe bien, j'aime bien les fonction génériques, mais le problème c'est que je n'ai rien trouvé qui convienne...
# getpwnam() et getgrnam().
Posté par Vincent ORDY . Évalué à 3.
Regarde du côté des fonctions getpwnam() et getgrnam().
Bonne chance
[^] # Re: getpwnam() et getgrnam().
Posté par Emeric . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.