Sé que tengo grupos y usuarios existentes, pero no estoy seguro de su asociación. ¿Hay un comando de shell que pueda usar para enumerar todos los usuarios o todos los grupos y un comando para enumerar todos los grupos / usuarios para un usuario / grupo específico?
Entonces, algo así showusers
enumeraría a todos los usuarios y showgroups -u thisuser
mostraría todos los grupos que tienen thisuser
en él.
cat /etc/passwd
Respuestas:
Todos los usuarios:
Todos los grupos:
Todos los grupos con un usuario específico:
fuente
speech-dispatcher
que pertenece al grupo de audio (segúngroups speech-dispatcher
). ¡Pero no está en la lista bajo elgetent group
comando! ¿Cuál es el problema?/etc/passwd
&/etc/group
es decir, cuando un sistema está configurado para usar directorios centrales como NIS y LDAP, o cualquier otra base de datos alternativa de usuarios / grupos, siempre que sea compatible con la enumeración de usuarios / grupos .Lista de usuarios y sus grupos:
Lista de grupos y sus usuarios:
fuente
Si no le interesan los usuarios remotos como LDAP o NIS, enumere a los usuarios y sus grupos asociados de una manera simple:
Salida;
fuente
Listar todos los usuarios
O
Mientras que cat / etc / passwd muestra todos los usuarios (y un montón de otras cosas), cortar -d ':' -f 1 es una forma simple de dividir cada línea con ':' como delimitador y extraer solo el primer campo (usuarios ) Más o menos lo mismo que la versión awk.
Listar todos los grupos
O
Adivina qué, muy similar a la lista de usuarios. Simplemente analice / etc / group en su lugar.
Otra forma interesante, tal vez más cercana a lo que OP quería, es compgen . Sin embargo, no estoy seguro de los problemas de compatibilidad.
fuente
para debian
fuente
Me gusta esto:
fuente
/etc/gshadow
no contiene miembros del grupo (/etc/group
sí) y la respuesta aceptada de hace 4.5 años es mucho más general de todos modos, ya que también maneja grupos remotos.Use este comando para obtener todo el grupo y los usuarios en ese grupo en particular.
fuente