GNU/Linux >> Tutoriels Linux >  >> Linux

Python :comment obtenir les identifiants de groupe d'un nom d'utilisateur (comme id -Gn )

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


Linux
  1. Comment obtenir la largeur de la fenêtre de la console Linux en Python

  2. obtenir l'identifiant du groupe par nom de groupe (Python, Unix)

  3. Comment faire fonctionner un script Python comme un service ou un démon sous Linux

  4. Comment obtenir le numéro de série du disque dur en utilisant Python

  5. Comment puis-je obtenir un équivalent de /dev/one sous Linux

Comment installer Python sur Linux

Comment obtenir la date et l'heure actuelles en Python

Comment obtenir l'utilisation du processeur d'un seul processus sous Linux

Comment obtenir ps pour imprimer le groupe?

Comment puis-je obtenir un binaire à partir d'un fichier .py

Ubuntu, comment configurer une nouvelle machine comme une existante