La primera tarea que realiza cualquier administrador de Linux cuando un usuario dice que no puede iniciar sesión en el sistema. Sí, para saber cómo enumerar usuarios en Linux es necesario solucionar cualquier problema de inicio de sesión.
Espero que haya visto los comandos para crear un usuario, eliminar un usuario, modificar un usuario, enumerar usuarios registrados. Aquí, veremos cómo listar usuarios en Linux.
Lista de usuarios en Linux usando el archivo /etc/passwd
Si recuerda, cuando crea un usuario, el comando useradd coloca una entrada en el archivo /etc/passwd sobre el usuario. Con la ayuda del archivo /etc/passwd, podemos enumerar los usuarios locales presentes en el sistema.
Usuario cat o menos o más comando para listar usuarios.
cat /etc/passwd
Salida:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bash
Cada línea en el archivo /etc/passwd representa un solo usuario.
El archivo /etc/passwd tiene siete campos delimitados por dos puntos.
- Nombre de usuario
- Contraseña encriptada (x representa que la contraseña está almacenada en el archivo /etc/shadow)
- UID del usuario (Número de identificación de usuario)
- GID del usuario (Número de identificación de grupo)
- Campo GECOS (Nombre completo del usuario o comentarios)
- Directorio de inicio del usuario
- Concha de inicio de sesión
Si desea mostrar solo la lista de nombres de usuarios en el sistema, simplemente puede filtrar la salida.
cat /etc/passwd | awk -F: '{ print $1}'
Salida:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Lista de usuarios en Linux usando getent
El comando getent enumerará a los usuarios mediante consultas a las bases de datos configuradas en /etc/nssswitch.conf. La base de datos incluye /etc/passwd (usuarios locales) y LDAP. Por lo tanto, getent mostrará a los usuarios tanto de /etc/passwd como de LDAP.
Para obtener una lista de usuarios de Linux, ejecute el siguiente comando.
getent passwd
Salida:
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin webmaster:x:1999:1001::/opt/webadmin:/bin/bash user_name:x:2000:2000:sudo user:/home/user_name:/bin/bashLa salida del comando gatent será similar al contenido del archivo /etc/passwd. Además, vería usuarios de LDAP si el sistema está configurado con LDAP.
Use awk solo para enumerar los nombres de usuario.
getent passwd | awk -F: '{ print $1}'
Salida:
root bin daemon adm lp sync shutdown halt mail operator games ftp nobody systemd-network dbus polkitd postfix chrony sshd webmaster user_name
Conclusión
En esta publicación, ha aprendido a enumerar los usuarios en su sistema Linux. Enumerar usuarios en Linux es muy simple y todo lo que tiene que hacer es observar la salida del comando para obtener la información que necesita para solucionar problemas de inicio de sesión de usuario.