Das Folgende funktioniert unter der Annahme, dass Sie nur an lokalen Benutzern interessiert sind, es funktioniert nicht für Dinge wie sssd
unterstützt durch einen Katalogserver (zum Beispiel 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
Wenn Sie die Gruppen des aktuellen Benutzers möchten.
import os, grp
[grp.getgrgid(g).gr_name for g in os.getgroups()]
os.getgroups()
gibt die Liste der Gids des aktuellen Benutzers zurück.
grp.getgrgid(g)
gibt Details zu einer Gruppe zurück