GNU/Linux >> Tutoriales Linux >  >> Linux

obtener ID de grupo por nombre de grupo (Python, Unix)

Si lee la documentación del módulo grp, verá que grp.getgrnam(groupname) devolverá una entrada de la base de datos del grupo, que es un objeto similar a una tupla. Puede acceder a la información por índice o por atributo:

>>> import grp
>>> groupinfo = grp.getgrnam('root')
>>> print groupinfo[2]
0
>>> print groupinfo.gr_gid
0

Otras entradas son el nombre, la contraseña cifrada (generalmente vacía, si usa un archivo oculto, será un valor ficticio) y todos los nombres de los miembros del grupo. Esto funciona bien en cualquier sistema Unix, incluida mi computadora portátil 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']

El módulo también ofrece un método para obtener entradas por gid y, como descubrió, un método para recorrer todas las entradas en la base de datos:

>>> grp.getgrgid(80)
('admin', '*', 80, ['root', 'admin', 'mj'])
>>> len(grp.getgrall())
73

Por último, pero no menos importante, python ofrece una funcionalidad similar para obtener información sobre la contraseña y los archivos ocultos, en los módulos pwd y spwd, que tienen una API similar.


Ver grp.getgrnam(name) :

grp.getgrnam(name)

Devuelve la entrada de la base de datos del grupo para el nombre de grupo dado. Se genera KeyError si no se puede encontrar la entrada solicitada.

Las entradas de la base de datos del grupo se informan como un objeto similar a una tupla, cuyos atributos corresponden a los miembros de la estructura del grupo:

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

El ID de grupo numérico está en el índice 2, o en el penúltimo, o el atributo gr_gid .

GID de root es 0:

>>> grp.getgrnam('root')
('root', 'x', 0, ['root'])
>>> grp.getgrnam('root')[-2]
0
>>> grp.getgrnam('root').gr_gid
0
>>>

Linux
  1. Script de Python para listar usuarios y grupos

  2. Obtenga el tiempo de creación de archivos con Python en Linux

  3. ¡Obtenga deltas del mouse usando Python! (en Linux)

  4. Cómo obtener el tamaño de tar.gz en un archivo (MB) en python

  5. Python:cómo obtener ID de grupo de un nombre de usuario (como id -Gn)

Cambiar propiedad de grupo de enlaces simbólicos en Unix o Linux

Ejemplos de comandos de pantalla:Obtener el control de la terminal Linux / Unix

¿Cómo obtener PID por nombre de proceso?

¿Cómo desarmo o me deshago de una función bash?

¿Cómo agregar al grupo cuando el nombre tiene un espacio?

¿Cómo puedo obtener un binario de un archivo .py?