GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo listar usuarios en Linux

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.

  1. Nombre de usuario
  2. Contraseña encriptada (x representa que la contraseña está almacenada en el archivo /etc/shadow)
  3. UID del usuario (Número de identificación de usuario)
  4. GID del usuario (Número de identificación de grupo)
  5. Campo GECOS (Nombre completo del usuario o comentarios)
  6. Directorio de inicio del usuario
  7. Concha de inicio de sesión
Un usuario normal tiene un UID mayor o igual a 1000 (SO nuevo) o 500 (SO antiguo). Los usuarios con UID <1000 (o <500) son usuarios del sistema.

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/bash
La 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.


Cent OS
  1. Información de Linux GECOS desmitificada

  2. Linux – ¿Fusionar /usr/bin y /usr/sbin en /bin (gnu/linux)?

  3. Visualización de usuarios del sistema en Linux

  4. ¿Cómo enumerar todos los usuarios en un grupo de Linux?

  5. ¿Cómo podemos obtener una lista de usuarios que no son del sistema en Linux?

Cómo enumerar usuarios de Linux en Ubuntu

Cómo listar usuarios en Linux

Cómo enumerar todos los usuarios en Linux

Cómo listar usuarios en Linux

Cómo enumerar usuarios y grupos en Linux

Cómo enumerar todos los usuarios de un grupo en Linux