¿Cómo enumerar usuarios en Linux? (Enumerar usuarios en Debian)
Las distribuciones de Linux se han vuelto populares entre empresas tecnológicas, investigadores y grandes comunidades de desarrollo de aplicaciones. Gestionar cuentas de usuario dentro de proyectos basados en equipos es esencial para una colaboración eficiente en estos entornos. En los sistemas Linux, los administradores pueden interactuar fácilmente con el sistema y supervisar la gestión de usuarios mediante diversos comandos.
Entre las múltiples distribuciones de Linux, Ubuntu destaca como una de las más utilizadas, ofreciendo una amplia gama de funciones adaptadas a los administradores de sistemas. Un aspecto crucial de la administración del sistema es listar todos los usuarios y gestionar eficazmente sus tareas. Esto facilita la concesión de privilegios, como el acceso a archivos o carpetas, y la asignación de permisos para garantizar la seguridad de los datos del sistema.
En este artículo, demostraremos cómo listar usuarios en Linux utilizando la interfaz de línea de comandos. Todos los comandos tratados aquí se muestran en la distribución Ubuntu 22.04 LTS Jammy JellyFish. Exploremos estos comandos para gestionar eficazmente los procesos de administración de usuarios en sistemas Ubuntu.
Cómo listar usuarios en Linux (List Linux Users)
Existen dos métodos principales para listar usuarios en las distribuciones Linux.
1. Listar usuarios mostrando el contenido del archivo /etc/passwd.
2. Listar usuarios usando el comando getent.
Listar usuarios mostrando el contenido del archivo /etc/passwd (Linux Command List Users)
El primer método consiste en examinar el contenido del archivo /etc/passwd, donde se almacenan los datos de todos los usuarios locales. Los usuarios pueden acceder al contenido del archivo utilizando comandos como cat o less:
$ cat /etc/passwd
O
$ less /etc/passwd
Cada línea del archivo /etc/passwd representa información sobre un usuario local. Estas líneas están divididas en campos separados por dos puntos. La información importante mostrada para cada usuario incluye lo siguiente:
- El nombre de inicio de sesión del usuario;
- La contraseña cifrada (normalmente representada por 'x', ya que la contraseña real se guarda en el archivo /etc/shadow);
- El número de identificación del usuario (UID);
- El número de identificación del grupo del usuario (GID);
- El nombre completo del usuario (conocido como GECOS);
- El directorio principal o directorio home del usuario;
- El shell de inicio por defecto, normalmente configurado como /bin/bash.
Al observar el contenido del archivo ‘/etc/passwd’, los administradores pueden obtener información sobre los usuarios registrados en el sistema y sus detalles asociados. Este método ofrece una forma sencilla de listar usuarios en Linux.
Listar usuarios en Linux usando los comandos awk y cut (Linux Commands List Users)
Cuando necesite mostrar únicamente los nombres de usuario desde el archivo /etc/passwd en un sistema Linux como Ubuntu, puede utilizar los comandos awk o cut. Estas son herramientas potentes de manipulación de texto que permiten extraer campos específicos de un archivo.
Usando el comando awk, puede recuperar fácilmente el primer campo, que representa el nombre de usuario, desde el archivo /etc/passwd. La sintaxis de este comando es:
$ awk -F: '{ print $1}' /etc/passwd
De forma similar, el comando cut también puede emplearse para el mismo propósito. Permite especificar el delimitador y el número de campo a extraer. En este caso, usamos ':' como delimitador para separar los campos y '1' para indicar el primer campo (el nombre de usuario):
$ cut -d: -f1 /etc/passwd
Ambos comandos mostrarán únicamente los nombres de usuario de todos los usuarios registrados en su sistema Linux, proporcionando una forma concisa de extraer esta información específica del archivo /etc/passwd.
Listar usuarios en Linux usando el comando getent
El comando getent en Linux sirve para recuperar entradas de la base de datos administrativa utilizando claves de búsqueda específicas. En Ubuntu, getent recopila y muestra entradas de la base de datos configurada en el archivo /etc/nsswitch.conf. Los usuarios pueden emplear este comando para consultar y listar usuarios apuntando a la base de datos passwd.
Para imprimir la lista de usuarios de Ubuntu, simplemente ejecute el siguiente comando:
$ getent passwd
Para quienes prefieran mostrar solo los nombres de usuario, pueden combinar los parámetros 'awk' o 'cut' junto con el comando getent. Así se puede hacer usando awk:
$ getent passwd | awk -F: '{ print $1}'
De forma similar, se puede obtener la misma salida usando el comando cut:
$ getent passwd | cut -d: -f1
Ambos comandos con getent permiten listar usuarios en Linux o recuperar información específica como los nombres de usuario.
Verificar usuarios en Linux usando los comandos getent y grep
Puede utilizar el comando getent para determinar si un usuario específico existe en su sistema Ubuntu Linux. Al combinar getent con grep, puede buscar rápidamente la existencia de un usuario. La sintaxis es:
$ getent passwd | grep user-name
Por ejemplo, supongamos que queremos determinar si un usuario llamado 'samreena' existe en nuestro sistema. Ejecutaríamos lo siguiente:
$ getent passwd | grep username
Si el usuario especificado 'samreena' existe en su sistema Ubuntu, el comando mostrará la información de inicio de sesión asociada a ese usuario. Sin embargo, si no existe ningún usuario con ese nombre, el comando no mostrará ninguna salida.
Alternativamente, puede comprobar directamente la existencia del usuario sin usar grep especificando el nombre tras getent passwd:
$ getent passwd user_name
Listar todos los usuarios conectados en Linux
Para listar todos los usuarios actualmente conectados en un host Linux, el comando cat sobre el archivo passwd no será suficiente. En su lugar, debe ejecutar los comandos "who" o "users".
$ who
$ users
El comando "who" o "users", cuando se ejecuta, mostrará una lista de los usuarios actualmente conectados al sistema. Estos comandos proporcionan información en tiempo real sobre las conexiones de usuarios al host Linux.
Listar usuarios en Linux para mostrar todas las cuentas de usuario
Para determinar el número total de cuentas de usuario en un sistema Linux, puede utilizar el comando 'getent passwd' seguido de 'wc -l' para contar las líneas.
$ getent passwd | wc -l
Este comando recupera la información sobre las cuentas de usuario desde la base de datos de contraseñas del sistema y luego cuenta el número total de líneas devueltas, cada una representando una cuenta de usuario.
Arriba hemos visto cómo listar usuarios en Linux utilizando diferentes comandos. Estos comandos le ayudan a gestionar distintas cuentas de usuario en su sistema Linux.
Conclusión
Linux proporciona una serie de comandos que son herramientas valiosas para los administradores de sistemas a la hora de gestionar cuentas de usuario y garantizar la seguridad del sistema. En este tutorial, aprendimos cómo listar usuarios en Linux.
Al aprovechar comandos como 'getent passwd', los administradores pueden recuperar fácilmente detalles completos sobre los usuarios de sus sistemas, lo que les permite supervisar el acceso, aplicar políticas de seguridad y solucionar cualquier problema que pueda surgir.
Comprender estos comandos y sus distintos argumentos es esencial para que los administradores realicen tareas de gestión de usuarios de forma eficiente y mantengan la integridad y seguridad de sus sistemas Linux o servidores Linux VPS. Con estas herramientas a su disposición, los administradores pueden gestionar con confianza los aspectos relacionados con los usuarios dentro de la administración del sistema, contribuyendo a un entorno informático robusto y seguro.
Blog