usando - librerias de python para ciencia de datos
Script Python para listar usuarios y grupos (5)
el módulo grp
es tu amigo Mire grp.getgrall()
para obtener una lista de todos los grupos y sus miembros.
Ejemplo EDIT :
import grp
groups = grp.getgrall()
for group in groups:
for user in group[3]:
print user, group[0]
Estoy intentando codificar una secuencia de comandos que emite cada usuario y su grupo en su propia línea así:
user1 group1
user2 group1
user3 group2
...
user10 group6
etc.
Estoy escribiendo un script en python para esto, pero me preguntaba cómo SO podría hacer esto.
ps. Dale un golpe en cualquier idioma, pero prefiero Python.
EDITAR: estoy trabajando en Linux. Ubuntu 8.10 o CentOS =)
sh / bash:
getent passwd | cut -f1 -d: | while read name; do echo -n "$name " ; groups $name ; done
Alimentado por os.popen o lo que sea ....
"grupos de hombres"
GRUPOS (1) Comandos de usuario GRUPOS (1)
Grupos NAME: imprime los grupos en los que se encuentra un usuario
Grupos SINOPSIS [OPCIÓN] ... [NOMBRE DE USUARIO] ...
DESCRIPCIÓN Imprima membresías de grupos para cada USERNAME o, si no se especifica USERNAME, para el proceso actual (que puede diferir si la base de datos de grupos ha cambiado).
....
Creo que este código satisface sus necesidades, solo utiliza las funciones básicas del intérprete de Python, sin la necesidad de utilizar módulos adicionales:
una función simple que es capaz de manejar la estructura de cualquiera de estos archivos (/ etc / passwd y / etc / group).
Aquí está el código:
#!/usr/bin/python
data = []
def iterator(f):
for line in f.readlines():
data.append(line.split(":")[0])
data.sort();
for item in data:
print "- " + item ,
with open("/etc/group","r") as f:
print "/n* GROUPS *"
iterator(f);
print
with open("/etc/passwd","r") as f:
print "/n* USERS *"
iterator(f);