GNU/Linux >> Znalost Linux >  >> Linux

získat ID skupiny podle názvu skupiny (Python, Unix)

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
>>>

Linux
  1. Python skript pro seznam uživatelů a skupin

  2. Získejte delty myši pomocí Pythonu! (v Linuxu)

  3. Příkaz Linux získat ID procesu Tomcat podle názvu

  1. Seznam členů skupiny v Linuxu

  2. Získejte celkovou fyzickou paměť v Pythonu

  3. Jak přidat do skupiny, když má jméno mezeru?

  1. Změna skupinového vlastnictví symbolických odkazů v Unixu nebo Linuxu

  2. Jak získat šířku okna konzoly Linux v Pythonu

  3. Získejte čas na vytváření souborů s Pythonem na linuxu