¿Cómo puedo mostrar todos los usuarios y grupos con un comando?

123

Quiero mostrar:

  1. Todos los usuarios y
  2. Todos los grupos

    en mi sistema usando la línea de comandos.

usersy los groupscomandos muestran los usuarios actualmente conectados y los grupos a los que pertenece un usuario respectivamente.

¿Cómo mostrar una lista de todos los usuarios y todos los grupos por línea de comandos?

Pandya
fuente

Respuestas:

189

Puede mostrar con la ayuda del compgencomando incorporado de la siguiente manera:

  1. Para mostrar a todos los usuarios, ejecute el siguiente comando:

    compgen -u
    
  2. Para mostrar todos los grupos, ejecute el siguiente comando:

    compgen -g
    

Sin embargo, también puede mostrar todos los usuarios por cut -d ":" -f 1 /etc/passwd.

Pandya
fuente
14
¡Agradable! podría ser preferible usar getent passwd/ getent groupen lugar de cat'ing los archivos locales ( getentdebería funcionar para cuentas no locales también)
steeldriver
@steeldriver compgenparece funcionar para cuentas no locales (al menos para LDAP).
muru
1
@muru me refería específicamente al segundo método ( cat /etc/passwd | cut -d ...)
steeldriver
@steeldriver Ah, lo siento. Pensé que era una observación más general.
muru
Bueno, en mi ubuntu, tengo algunos archivos creados por docker mount con 999:999as user:group, pero desafortunadamente ninguno de los comandos anteriores los imprime.
Marinos un