Pokud si přečtete dokumentaci modulu grp, uvidíte, že grp.getgrnam(název skupiny) vrátí jeden záznam z databáze skupin, což je objekt podobný n-tice. K informacím můžete přistupovat buď podle indexu, nebo pomocí atributu:
>>> import grp
>>> groupinfo = grp.getgrnam('root')
>>> print groupinfo[2]
0
>>> print groupinfo.gr_gid
0
Další položky jsou jméno, zašifrované heslo (obvykle prázdné, pokud používáte stínový soubor, bude to fiktivní hodnota) a jména všech členů skupiny. Funguje to dobře na jakémkoli systému Unix, včetně mého notebooku Mac OS X:
>>> import grp
>>> admin = grp.getgrnam('admin')
>>> admin
('admin', '*', 80, ['root', 'admin', 'mj'])
>>> admin.gr_name
'admin'
>>> admin.gr_gid
80
>>> admin.gr_mem
['root', 'admin', 'mj']
Modul také nabízí metodu, jak získat položky pomocí gid, a jak jste zjistili, metodu pro opakování všech položek v databázi:
>>> grp.getgrgid(80)
('admin', '*', 80, ['root', 'admin', 'mj'])
>>> len(grp.getgrall())
73
V neposlední řadě nabízí python podobnou funkcionalitu pro získání informací o souborech hesel a stínových souborech v modulech pwd a spwd, které mají podobné API.
Viz grp.getgrnam(name)
:
grp.getgrnam(name)
Vraťte záznam databáze skupiny pro daný název skupiny. KeyError je vyvoláno, pokud požadovaný záznam nelze nalézt.
Záznamy skupinové databáze jsou hlášeny jako objekt podobný n-tice, jehož atributy odpovídají členům struktury skupiny:
Index Attribute Meaning
0 gr_name the name of the group
1 gr_passwd the (encrypted) group password; often empty
2 gr_gid the numerical group ID
3 gr_mem all the group member’s user names
Číselné ID skupiny je na indexu 2 nebo 2. od posledního nebo atributu gr_gid
.
GID root
je 0:
>>> grp.getgrnam('root')
('root', 'x', 0, ['root'])
>>> grp.getgrnam('root')[-2]
0
>>> grp.getgrnam('root').gr_gid
0
>>>