Bonjour,
Je souhaite récupérer la liste des groupes d'un utilisateur (je parle bien d'une liste des groupes et pas seulement le groupe principal).
1/ Je ne peux pas faire de open(FD_IN, '< /etc/group') car potentiellement il peut s'agir d'utilisateurs d'un active directory, donc pas dans le /etc/group.
2/ Ma solution de secours c'est de faire un `id login` et de récupérer la liste, mais j'aimerais un truc un peu plus propre :)
J'ai trouvé un getgrname mais ça ne donne que le groupe principal. Existe-il une fonction dédiée ?
Merci
# correctif
Posté par novice2005 . Évalué à 1.
# en shell : groups
Posté par NeoX . Évalué à 3.
groups user
te donnera les groupes de l'utilisateur "user"
a defaut de trouver en perl tu peux passer par un appel system (c'est moche, mais ca doit marcher)
[^] # Re: en shell : groups
Posté par novice2005 . Évalué à 1.
Par contre que veux tu dire par un appel système ? As tu un exemple ?
[^] # Re: en shell : groups
Posté par NeoX . Évalué à 2.
si j'en crois : http://fr.selfhtml.org/cgiperl/fonctions/appelssysteme.htm
en perl il faudrait par exemple faire
my @resultat=qx(groups $user);
print $resultat;
à condition que l'outil "groups" soit disponible avec ton shell.
sinon il faut regarder les modules LDAP/AD de perl
qui permettent peut-etre de chercher une info dans un annuaire ldap
# getgrent
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
while (($name, $passwd, $gid, $members) = getgrent()) {
# Prendre $name ou $gid si $login est dans $members
}
[^] # Re: getgrent
Posté par novice2005 . Évalué à 1.
[^] # Re: getgrent
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
getent groups te les liste pas non plus ?
je vois pas comment id les listerait en fait dans ce cas
# getent
Posté par LowiX . Évalué à 1.
getent group
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.