Gruppennummer nach Gruppenname erhalten (Python, Unix)

8

Ich möchte Python verwenden, um die Gruppen-ID zu einem entsprechenden Gruppennamen zu bekommen. Die Routine muss für ein Unix-ähnliches Betriebssystem (Linux und Mac OS X) funktionieren.

Das habe ich bisher gefunden

%Vor%     
SimonSalman 21.07.2009, 08:05
quelle

2 Antworten

15

Wenn Sie die Grp-Modul-Dokumentation lesen, sehen Sie, dass grp.getgrnam (Gruppenname) eins zurückgibt Eintrag aus der Gruppendatenbank, die ein tupelähnliches Objekt ist. Sie können entweder auf die Informationen nach Index oder nach Attribut zugreifen:

%Vor%

Andere Einträge sind der Name, das verschlüsselte Passwort (normalerweise leer, wenn eine Shadow-Datei verwendet wird, es ist ein Dummy-Wert) und alle Gruppenmitgliedsnamen. Dies funktioniert auf jedem Unix-System, einschließlich meines Mac OS X-Laptops:

%Vor%

Das Modul bietet auch eine Methode, um Einträge nach gid zu erhalten, und wie Sie entdeckt haben, eine Methode, um alle Einträge in der Datenbank zu durchlaufen:

%Vor%

Zu guter Letzt bietet python eine ähnliche Funktionalität, um Informationen zu den Passwort- und Schattendateien in der pwd und spwd Module, die eine ähnliche API haben.

    
Martijn Pieters 21.07.2009, 08:34
quelle
5

Siehe grp.getgrnam(name) :

  

grp.getgrnam(name)

     

Geben Sie den Gruppendatenbankeintrag für den angegebenen Gruppennamen zurück. KeyError wird ausgelöst, wenn der angeforderte Eintrag nicht gefunden werden kann.

     

Gruppendatenbankeinträge werden als tupelartiges Objekt gemeldet, dessen Attribute den Mitgliedern der Gruppenstruktur entsprechen:

%Vor%

Die numerische Gruppen-ID hat den Index 2 oder die zweitletzte oder das Attribut gr_gid .

GID von root ist 0:

%Vor%     
gimel 21.07.2009 08:13
quelle

Tags und Links