Ce qui suit fonctionne en supposant que vous ne vous intéressez qu'aux utilisateurs locaux, cela ne fonctionnera pas pour des éléments tels que sssd
soutenu par un serveur de catalogue (par exemple, ldap
).
#!/usr/bin/env python
import grp, pwd
user = "myname"
groups = [g.gr_name for g in grp.getgrall() if user in g.gr_mem]
gid = pwd.getpwnam(user).pw_gid
groups.append(grp.getgrgid(gid).gr_name)
print groups
Si vous voulez les groupes de l'utilisateur actuel.
import os, grp
[grp.getgrgid(g).gr_name for g in os.getgroups()]
os.getgroups()
renvoie la liste des gids de l'utilisateur courant.
grp.getgrgid(g)
renvoie les détails d'un groupe