Cómo ver los usuarios en Linux: comandos, herramientas y consejos de automatización
Sep 09, 2026
/
By Faradilla A.
/
6 min Leer
Para ver los usuarios en Linux, uno de los métodos más habituales es consultar el archivo /etc/passwd, que almacena información esencial sobre todas las cuentas del sistema.
Listar usuarios es una tarea básica de administración del sistema. Te permite consultar las cuentas existentes, comprobar qué usuarios tienen una sesión iniciada, filtrar usuarios por ID y automatizar auditorías para mantener la seguridad del sistema.
Estos son los principales comandos que puedes utilizar para ver los usuarios en Linux:
- cat. Permite consultar rápidamente todos los usuarios locales sin filtrar los resultados.
- getent. Permite listar usuarios tanto de bases de datos locales como de servicios de red, como LDAP.
- compgen. Genera una lista de nombres de usuario que resulta útil para scripts y funciones de autocompletado.
- awk y cut. Permiten filtrar los resultados para mostrar solo los nombres de usuario u otros campos.
- who y users. Sirven para comprobar qué usuarios tienen una sesión iniciada.
Requisitos previos para ver los usuarios en Linux
Antes de listar usuarios en Linux, asegúrate de tener acceso a un terminal. Lo necesitarás tanto si trabajas en un equipo local como si administras un servidor remoto, como un servidor privado virtual (VPS).
Si gestionas un VPS, conéctate mediante un cliente SSH con la siguiente sintaxis:
ssh nombre_usuario@ip_del_servidor
Cualquier usuario puede consultar el archivo /etc/passwd y ejecutar comandos básicos para listar cuentas. Sin embargo, para realizar tareas administrativas, como crear, modificar o eliminar usuarios, necesitas acceso root o privilegios sudo.
Cómo ver los usuarios con el comando cat
La forma más sencilla de listar todos los usuarios locales es mostrar el contenido del archivo /etc/passwd con el comando cat. Este archivo contiene los datos de los usuarios normales y de las cuentas del sistema.
Ejecuta el siguiente comando:
cat /etc/passwd
El resultado muestra una línea por cada cuenta de usuario.

Cada línea sigue esta estructura:
nombre_usuario:x:UID:GID:GECOS:directorio_personal:shell
Cada campo contiene la siguiente información:
- nombre_usuario. El nombre de usuario de la cuenta.
- x. Un marcador que indica que el hash de la contraseña se almacena en /etc/shadow.
- UID. El ID numérico del usuario.
- GID. El ID numérico del grupo principal.
- GECOS. Información opcional sobre el usuario, como su nombre completo o una descripción.
- directorio_personal. La ruta absoluta al directorio personal del usuario.
- shell. El programa que se ejecuta cuando el usuario inicia sesión.
En sistemas con cientos de usuarios, cat puede generar una salida difícil de consultar. En ese caso, puedes pasar los resultados a less para leerlos más cómodamente o utilizar grep para buscar una cuenta concreta.
cat /etc/passwd | less
cat /etc/passwd | grep nombre_usuario
Cualquier usuario puede leer el archivo /etc/passwd, por lo que permite consultar datos como los ID de usuario y las rutas de los directorios personales. Los hashes de las contraseñas, en cambio, se almacenan de forma segura en /etc/shadow, un archivo que solo puede leer root.
Cómo ver los usuarios en Linux con el comando getent
El comando getent recupera entradas de las bases de datos configuradas mediante el Name Service Switch (NSS) del sistema. Por ello, resulta especialmente útil en sistemas que utilizan directorios de usuarios en red, como LDAP o Active Directory.
A diferencia de cat, que solo consulta el archivo local /etc/passwd, getent busca en todas las bases de datos de usuarios configuradas en /etc/nsswitch.conf.
Para listar todos los usuarios de fuentes locales y de red, ejecuta:
getent passwd
Si quieres consultar los datos de un usuario concreto, añade su nombre de usuario:
getent passwd nombre_usuario

La salida tiene el mismo formato que /etc/passwd, pero getent muestra los datos de los usuarios disponibles en todas las fuentes configuradas, no solo los de las cuentas locales.
Cómo usar compgen para ver los usuarios
compgen es un comando integrado de Bash que genera coincidencias para el autocompletado. Con la opción -u, muestra todos los nombres de usuario que conoce el sistema, incluidas las cuentas normales y las del sistema.
Para listar todos los nombres de usuario, ejecuta:
compgen -u
compgen consulta las mismas bases de datos NSS que getent, pero solo muestra los nombres de usuario, sin campos adicionales. Por eso resulta especialmente útil en scripts de shell o para configurar funciones de autocompletado en herramientas personalizadas.
Por defecto, compgen muestra una lista vertical que puede resultar muy larga. Para distribuir los resultados en columnas y facilitar su lectura, pasa la salida al comando column:
compgen -u | column

Como compgen es un comando integrado de Bash, no está disponible en otros shells, como sh o zsh.
Cómo listar usuarios con los comandos awk y cut para personalizar la salida
Si solo quieres mostrar los nombres de usuario u otros campos concretos, sin los ID ni las rutas de los directorios, utiliza herramientas de procesamiento de texto como awk o cut.
Ambos comandos permiten filtrar los datos de /etc/passwd para mostrar únicamente los campos que necesites.
Esta tabla compara cómo utilizar ambos comandos para listar usuarios:
| Función | awk | cut |
|---|---|---|
| Sintaxis | awk -F: ‘{ print $1}’ /etc/passwd | cut -d: -f1 /etc/passwd |
| Delimitador | Utiliza -F: para establecer los dos puntos como separador | Utiliza -d: para establecer los dos puntos como separador |
| Selección de campos | Muestra $1, el primer campo | Selecciona -f1, el primer campo |
| Ideal para | Aplicar formatos complejos y procesamiento condicional | Extraer campos de forma sencilla |
Utiliza awk si necesitas realizar un procesamiento adicional, como filtrar usuarios por un rango de UID.

Utiliza cut si solo necesitas extraer rápidamente los nombres de usuario.

Cómo comprobar qué usuarios tienen una sesión iniciada
Para ver qué usuarios tienen una sesión iniciada en ese momento, en lugar de listar todas las cuentas registradas, utiliza los comandos who o users.
Herramientas como cat muestran las cuentas locales registradas en el sistema, mientras que who y users indican qué usuarios tienen una sesión iniciada. Esta diferencia es especialmente útil para supervisar la actividad en servidores con varios usuarios.
- users. Muestra en una sola línea los nombres de usuario con sesiones iniciadas.
users

- who. Muestra información más detallada, como el terminal, la hora de inicio de sesión y la dirección IP de origen.

Si necesitas más información, como el tiempo de inactividad y los procesos en ejecución, utiliza el comando w:
w

Buenas prácticas para listar usuarios en Linux
Para consultar los usuarios de forma eficaz, conviene filtrar los resultados para facilitar su lectura, proteger la información de las cuentas y automatizar las comprobaciones periódicas que ayuden a mantener la seguridad del sistema.
Combina comandos con tuberías
Para encontrar información concreta rápidamente, combina los comandos anteriores con grep. Por ejemplo, puedes comprobar si existe un usuario sin tener que recorrer toda la lista:
getent passwd | grep nombre_usuario
También puedes ordenar alfabéticamente los nombres de usuario para facilitar las revisiones manuales:
cut -d: -f1 /etc/passwd | sort

Usa una interfaz gráfica para gestionar usuarios
Si prefieres una interfaz gráfica a la línea de comandos, puedes utilizar un panel de control como Webmin o el gestor de usuarios de tu entorno de escritorio.
Estas herramientas suelen incluir una tabla con función de búsqueda que permite consultar fácilmente los usuarios, sus grupos, sus ID y la configuración del shell sin tener que memorizar la sintaxis de los comandos.
Gestiona la información de los usuarios de forma segura
Revisar periódicamente la lista de usuarios es una buena práctica de seguridad. Presta especial atención a lo siguiente:
- Cuentas desconocidas. Comprueba si hay cuentas que no hayas creado.
- Cuentas inesperadas con UID 0. Solo root debería tener el UID 0. Cualquier otra cuenta con este UID tendrá privilegios completos de superusuario.
- Acceso al shell. Comprueba que los usuarios del sistema, como www-data o nobody, utilicen /usr/sbin/nologin en Debian/Ubuntu, /sbin/nologin en RHEL/CentOS o /bin/false para impedir el inicio de sesión interactivo.
Cómo automatizar la lista de usuarios con scripts de Bash
Puedes automatizar la creación de listas de usuarios mediante scripts de Bash que ejecuten comandos como cut o awk y programar su ejecución con cron.
Los comandos cat, getent, awk, cut, who y compgen resultan prácticos para comprobaciones puntuales. Sin embargo, repetir estos pasos manualmente puede resultar poco eficiente al administrar sistemas Linux con muchas cuentas.
Los scripts de Bash permiten automatizar la consulta de usuarios, filtrar cuentas según criterios concretos, como tener acceso sudo, y guardar informes para revisarlos más adelante. Así puedes realizar auditorías de forma sistemática al administrar el servidor.
También puedes programar la ejecución de estos scripts con una cron job para detectar cambios sospechosos en las cuentas. Por ejemplo, un script sencillo puede guardar la lista de usuarios en un archivo de texto con la fecha correspondiente para que puedas comparar los resultados a lo largo del tiempo.
Este ejemplo guarda en un archivo una lista de usuarios generada con cut:
#!/bin/bash # Export user list to a timestamped file OUTPUT_DIR="$HOME/user_audits" OUTPUT_FILE="$OUTPUT_DIR/user_audit_$(date +%F).txt" # Create output directory if it doesn't exist mkdir -p "$OUTPUT_DIR" # Generate user list cut -d: -f1 /etc/passwd | sort > "$OUTPUT_FILE" echo "User audit saved to $OUTPUT_FILE"
Haz que el script sea ejecutable y prográmalo con cron para que se ejecute a diario o semanalmente:
chmod +x ~/user_audit.sh crontab -e # Add: 0 2 * * * ~/user_audit.sh
Si no quieres escribir scripts desde cero, puedes utilizar Hostinger Agent, nuestro asistente de IA. Está disponible en todos los planes de VPS y genera scripts de automatización a partir de tus instrucciones. Solo tienes que escribir un prompt que describa lo que quieres que haga el script.
Si quieres profundizar en este tema, consulta nuestra guía sobre ejemplos de scripts de Bash para aprender a estructurar tareas de automatización más avanzadas.

All of the tutorial content on this website is subject to Hostinger's rigorous editorial standards and values.
Comentarios
0 responses