Cómo enumerar usuarios en Linux

How List Users Linux



Linux es un sistema operativo multiusuario. Para mantener el sistema funcional y productivo, es imprescindible una gestión adecuada de los usuarios. Para un administrador de sistemas, conocer a todos los usuarios es necesario para administrar usuarios y permisos.

Esta guía demuestra cómo listar usuarios en Linux.







Listado de usuarios

El sistema almacena la lista de usuarios en archivos y bases de datos específicos. Podemos acceder a ellos utilizando varias herramientas. También podemos filtrar la salida para recopilar información específica.



Lista de usuarios de / etc / passwd
El archivo / etc / passwd es una base de datos basada en texto sin formato que contiene información sobre todos los usuarios del sistema. El archivo es propiedad de root con el permiso de archivo 644. Para obtener una explicación detallada de los permisos de archivo, consulte esta guía sobre permisos y propiedad de archivos de Linux.



Podemos comprobar el contenido del archivo / etc / passwd para tener una lista completa de todos los usuarios del sistema.





$ cat / etc / passwd | ordenar | menos

Cada línea del archivo denota un nombre de usuario único y su información asociada. La información se divide en siete campos, delimitados por dos puntos. Aquí hay un resumen rápido de los campos.



  • Campo 1: el nombre de usuario del usuario.
  • Campo 2: Describe si la contraseña del usuario está encriptada. Si el valor es x, significa que la contraseña está almacenada en el archivo de texto / etc / shadow. Es un archivo protegido por el sistema que requiere privilegios de sudo para acceder.
  • Campo 3: El UID (ID de usuario) del usuario.
  • Campo 4: El GID (ID de grupo) del usuario.
  • Campo 5: Nombre de usuario completo (GECOS).
  • Campo 6: Directorio de inicio dedicado al usuario.
  • Campo 7: Shell de inicio de sesión del usuario. De forma predeterminada, este valor se establecería en / bin / bash.

Si la información adicional no es necesaria en este momento, podemos omitirla en la salida.

$ cat / etc / passwd | awk -F: '{imprimir $ 1}' | clasificar

$ cat / etc / passwd | cut -d: -f1 | clasificar

Listado de usuarios que usan getent
El término getent es una forma abreviada de obtener entradas de la base de datos administrativa. Como sugiere, getent puede trabajar con varias bases de datos administrativas. Consulte todas las bases de datos administrativas compatibles.

$ getent --help

Estamos interesados ​​en la base de datos passwd, ya que contiene información sobre todos los usuarios del sistema. Revisar la passwd base de datos con getent.

$ getent passwd | clasificar

La salida es similar al contenido de / etc / passwd. Tenga en cuenta que este comando getent mostrará los usuarios de las bases de datos passwd y LDAP si el sistema está configurado para usar LDAP para la autenticación de usuarios. Para un uso más detallado, consulte esta guía sobre el comando getent de Linux.

Podemos eliminar toda la información adicional de la salida, manteniendo solo el nombre de usuario.

$ getent passwd | awk -F: '{imprimir $ 1}' | clasificar

$ getent passwd | cut -d: -f1 | clasificar

Listado de usuarios de un grupo
En Linux, los grupos son unidades organizativas para organizar y administrar cuentas de usuario. Ayuda a administrar los distintos permisos de archivos y sistemas más fácilmente.

Para enumerar todos los usuarios de un grupo de usuarios en particular, podemos usar getent.

$ getent group

Usando la lista de usuarios

Ahora sabemos cómo listar todos los usuarios del sistema. A continuación, se muestran algunos escenarios para aplicar este conocimiento.

Comprobando la existencia del usuario
Desde la lista de usuarios, podemos verificar si existe un usuario en el sistema Linux. La herramienta getent puede verificar si el usuario existe en el sistema.

$ getent passwd

Otro método (aunque no tan bueno) es usar grep. Simplemente podemos filtrar la lista de usuarios usando grep. Como cada usuario tiene su propia entrada única, no generará ninguna colisión.

$ getent passwd | grep

Número de cuentas de usuario
Como hemos visto hasta ahora, todos los métodos informan de un usuario único en cada línea de la salida. Contando el número de línea, podemos comprobar cuántos usuarios hay actualmente en el sistema.

Para contar el número de línea, usaremos el WC herramienta. Canalice la salida getent al comando wc.

$ getent passwd | wc -l

Listado de usuarios conectados
Si varios usuarios iniciaron sesión, podemos verificar la lista de usuarios conectados usando el OMS mando.

$ quien

Hay tres columnas diferentes de información en la salida.

  • Columna 1: el nombre de usuario conectado.
  • Columna 2: el tipo de conexión al sistema.
  • Columna 3: La hora y fecha de inicio de la sesión.

Pensamientos finales

En este tutorial, demostramos cómo enumerar y filtrar los usuarios en el sistema. También muestra algunos de los usos potenciales de la lista de usuarios. Estos métodos funcionan independientemente de la distribución de Linux que esté utilizando.

La gestión de usuarios es una gran parte del ecosistema de Linux. Para obtener más información, consulte esta guía detallada sobre cómo enumerar y administrar usuarios en Linux .

¡Feliz informática!