.
- 1 1. Introducción
- 2 2. Cómo comprobar la lista de usuarios en Ubuntu
- 3 3. Cómo comprobar los usuarios conectados actualmente
- 4 4. Cómo comprobar información detallada de usuarios
- 5 5. Gestión de usuarios en Ubuntu (Agregar, eliminar, modificar)
- 6 6. Escenarios prácticos para la gestión de usuarios
- 7 7. Preguntas frecuentes
- 7.1 7.1 ¿Puedo editar /etc/passwd directamente?
- 7.2 7.2 Diferencia entre los comandos who y users
- 7.3 7.3 Cómo comprobar el historial de inicio de sesión de un usuario específico
- 7.4 7.4 Cómo cambiar la contraseña de un usuario
- 7.5 7.5 Cómo desactivar temporalmente a un usuario
- 7.6 7.6 Añadir un usuario al grupo sudo
- 7.7 7.7 Cambiar el directorio home de un usuario
- 7.8 7.8 Eliminar completamente un usuario y sus datos
- 7.9 7.9 Ver actividad detallada de los usuarios conectados
1. Introducción
Ubuntu es una distribución de Linux popular utilizada por muchos usuarios, desde entornos personales hasta sistemas de servidores empresariales. Al administrar un sistema Ubuntu, la gestión de cuentas de usuario es esencial. En particular, revisar la lista de usuarios registrados ayuda con la gestión de seguridad y la organización de cuentas.
Este artículo explica cómo listar usuarios en Ubuntu. Cubre desde comandos básicos hasta métodos para obtener información detallada, lo que lo hace útil tanto para principiantes como para administradores experimentados.
2. Cómo comprobar la lista de usuarios en Ubuntu
En Ubuntu, la información de los usuarios puede obtenerse fácilmente mediante archivos y comandos específicos. Los siguientes métodos le permiten comprobar la lista de usuarios.
2.1 Mostrar la lista de usuarios usando /etc/passwd
En Ubuntu, toda la información de los usuarios se almacena en el archivo /etc/passwd. Mostrar este archivo le permite verificar todos los usuarios registrados.
Ejemplo de comando
cat /etc/passwd
Ejecutar este comando muestra la información en el siguiente formato:
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash
Cada línea está compuesta por campos separados por dos puntos (:) que contienen la siguiente información:
- Nombre de usuario
- Contraseña (ahora representada como x)
- ID de usuario (UID)
- ID de grupo (GID)
- Información del usuario (campo de comentario)
- Directorio home
- Shell de inicio de sesión predeterminado
Dado que este archivo incluye usuarios del sistema, puede extraer solo los usuarios de inicio de sesión regulares usando los métodos a continuación.
2.2 Listar solo nombres de usuario
Para listar únicamente los nombres de usuario, use el siguiente comando:
cut -d: -f1 /etc/passwd
Alternativamente, puede usar el comando awk:
awk -F':' '{ print $1 }' /etc/passwd
Salida de ejemplo:
root
user1
user2
2.3 Buscar un usuario específico
Para comprobar si un usuario específico existe, use el comando grep:
grep 'user1' /etc/passwd
Este comando muestra solo la entrada relacionada con user1.
2.4 Listar grupos mediante /etc/group
Para comprobar los grupos a los que pertenece un usuario, consulte el archivo /etc/group:
cat /etc/group | cut -d: -f1
Para listar los grupos a los que pertenece un usuario concreto, use:
groups user1
Salida de ejemplo:
user1 : user1 sudo
Esto indica que user1 también es miembro del grupo sudo.
3. Cómo comprobar los usuarios conectados actualmente
Ubuntu ofrece varios comandos para verificar qué usuarios están conectados en ese momento. Estos comandos ayudan a obtener información de sesiones e inicios de sesión.
3.1 Comprobar usuarios conectados usando who
El comando who enumera todos los usuarios que están conectados actualmente.
Ejemplo de comando
who
Salida de ejemplo
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30
Explicación de los campos
- Nombre de usuario (usuario conectado)
- Nombre del terminal (p. ej.,
tty1para local,pts/0para SSH) - Hora de inicio de sesión
El comando who es simple y útil cuando se desea comprobar rápidamente el estado de los inicios de sesión.
3.2 Comprobar información detallada usando w
El comando w proporciona información más detallada que who.
Ejemplo de comando
w
Salida de ejemplo
11:35:25 up 2:15, 2 users, load average: 0.03, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty1 10:05 1:30m 0.10s 0.10s -bash
user2 pts/0 192.168.1.10 11:30 0.00s 0.05s 0.02s sshd
Explicación de los campos
- Tiempo de actividad del sistema
- Número de usuarios conectados
- Promedio de carga de la CPU
- Nombre de usuario
- Terminal
- Host remoto
- Hora de inicio de sesión
- Tiempo inactivo
- Uso de CPU
- Proceso en ejecución
La dirección IP en el campo FROM ayuda a verificar inicios de sesión SSH remotos, lo que resulta útil para la monitorización y la gestión de seguridad.
3.3 Mostrar usuarios conectados usando users
Si deseas una lista simplificada que muestre solo los nombres de usuario de los usuarios conectados, el comando users es útil.
Ejemplo de comando
users
Ejemplo de salida
user1 user2
Este comando es una versión simplificada de who y muestra solo los nombres de usuario de los usuarios conectados.
3.4 Identificar al usuario actual con whoami
Para comprobar qué usuario está ejecutando la sesión actual, usa el comando whoami.
Ejemplo de comando
whoami
Ejemplo de salida
user1
Este comando simplemente muestra el nombre de usuario del usuario de la sesión actual, lo que resulta útil para verificar el contexto de ejecución.
3.5 Verificar el historial de inicio de sesión usando last
El comando last te permite revisar el historial de inicio de sesión de los usuarios.
Ejemplo de comando
last
Ejemplo de salida
user1 pts/0 192.168.1.10 Mon Feb 15 10:20 still logged in
user2 tty1 Mon Feb 15 09:30 - 10:00 (00:30)
root tty1 Sun Feb 14 22:15 - 23:45 (01:30)
- Nombre de usuario
- Terminal usado
- Dirección IP remota
- Hora de inicio de sesión
- Hora de cierre de sesión (o aún conectado)
- Duración total de la sesión
Este comando ayuda a los administradores a monitorizar accesos anteriores y detectar inicios de sesión sospechosos.
4. Cómo comprobar información detallada de usuarios
Ubuntu ofrece varios comandos para obtener información detallada sobre los usuarios registrados. Revisar detalles como UID, pertenencia a grupos y shell de inicio de sesión ayuda a los administradores a gestionar los permisos con precisión. Esta sección explica los métodos usando id, groups, finger y chage.
4.1 Comprobar UID, GID y grupos usando id
El comando id muestra el UID (Identificador de usuario), GID (Identificador de grupo) y la pertenencia a grupos del usuario.
Ejemplo de comando
id user1
Ejemplo de salida
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
uid→ Identificador de usuariogid→ Identificador del grupo principalgroups→ Todos los grupos a los que pertenece el usuario
Comprobar información del usuario actual
id
4.2 Comprobar pertenencia a grupos mediante groups
El comando groups enumera rápidamente los grupos a los que pertenece un usuario.
Ejemplo de comando
groups user1
Ejemplo de salida
user1 : user1 sudo docker
groups es útil cuando deseas ver solo los nombres de los grupos sin los IDs detallados.
4.3 Obtener detalles del usuario usando finger
El comando finger proporciona información detallada del usuario, como nombre completo, directorio de inicio y tipo de shell.
Comando de instalación
sudo apt install finger
Ejemplo de comando
finger user1
Ejemplo de salida
Login: user1 Name: User One
Directory: /home/user1 Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
- Login → Nombre de usuario
- Name → Nombre completo (opcional)
- Directory → Directorio home
- Shell → Shell predeterminado
- Last login → Hora del último inicio de sesión

4.4 Comprobar expiración de contraseña con chage
El comando chage permite a los administradores revisar el período de expiración de la contraseña y el último cambio de contraseña.
Ejemplo de comando
sudo chage -l user1
Ejemplo de salida
Last password change : Jan 15, 2025
Password expires : Mar 15, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5
- Último cambio de contraseña → Fecha del último cambio de contraseña
- La contraseña expira → Fecha de expiración de la contraseña
- Contraseña inactiva → Duración de inactividad antes de que la contraseña sea inválida
- La cuenta expira → Fecha de expiración de la cuenta
- Número mínimo de días entre cambios de contraseña
- Número máximo de días entre cambios de contraseña
- Días de advertencia antes de que la contraseña expire
Los administradores pueden usar esta información para aplicar políticas de contraseñas y mejorar la seguridad del sistema.
5. Gestión de usuarios en Ubuntu (Agregar, eliminar, modificar)
Una gestión adecuada de usuarios mejora la estabilidad y la seguridad del sistema. Ubuntu ofrece varios comandos administrativos como adduser, deluser y usermod. Esta sección explica cómo agregar, eliminar y modificar usuarios.
5.1 Agregar usuarios
Ubuntu permite agregar nuevos usuarios usando los comandos adduser o useradd.
5.1.1 Comando adduser (recomendado)
El comando adduser proporciona una forma interactiva de agregar usuarios.
sudo adduser newuser
Ejemplo de solicitud interactiva:
Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
- Cuenta de usuario
- Grupo dedicado
- Directorio home (
/home/newuser) - Contraseña para iniciar sesión
- Información básica de la cuenta
5.1.2 Comando useradd (avanzado)
El comando useradd es amigable para scripts y ofrece un control más fino, pero no configura todo automáticamente.
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
-m→ Crear directorio home-s /bin/bash→ Establecer shell de inicio de sesión
Una contraseña debe establecerse por separado al usar este comando.
5.2 Eliminar usuarios
Puedes eliminar usuarios usando deluser o userdel.
5.2.1 Comando deluser (recomendado)
El comando deluser elimina una cuenta de usuario.
sudo deluser newuser
Eliminar también el directorio home
sudo deluser --remove-home newuser
Esto elimina la cuenta y el directorio /home/newuser.
5.2.2 Comando userdel (avanzado)
El comando userdel ofrece más control.
sudo userdel newuser
sudo userdel -r newuser
5.3 Modificar usuarios existentes
Usa el comando usermod para modificar la información de usuarios existentes.
5.3.1 Cambiar nombre de usuario
sudo usermod -l newname oldname
5.3.2 Cambiar directorio home
sudo usermod -d /new/home/path user1
sudo usermod -d /home/newuser -m user1
5.3.3 Modificar pertenencia a grupos
sudo usermod -aG sudo user1
groups user1
5.3.4 Cambiar contraseña
sudo passwd user1
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
6. Escenarios prácticos para la gestión de usuarios
La gestión de usuarios en Ubuntu va más allá de listar y modificar cuentas. Entender cómo aplicar los comandos en escenarios reales es esencial para mantener un entorno seguro y eficiente. Esta sección presenta casos de uso comunes y cómo abordarlos.
6.1 Buscar usuarios que coincidan con criterios específicos
6.1.1 Mostrar usuarios con privilegios de administrador (sudo)
Para listar usuarios con privilegios sudo, use el comando getent para inspeccionar el archivo /etc/group:
getent group sudo
Salida de ejemplo
sudo:x:27:user1,user2
sudo:x:27:→ Información del grupouser1,user2→ Usuarios pertenecientes al grupo sudo
6.1.2 Mostrar usuarios con capacidad de iniciar sesión
El archivo /etc/passwd incluye cuentas del sistema. Para extraer solo los usuarios que pueden iniciar sesión:
grep '/bin/bash' /etc/passwd
Salida de ejemplo
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
- Solo los usuarios con shells como
/bin/basho/bin/shse incluyen - Las cuentas del sistema que usan
/usr/sbin/nologino/bin/falsese excluyen
6.1.3 Mostrar usuarios del sistema (cuentas sin inicio de sesión)
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
Salida de ejemplo
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false
Esto ayuda a los administradores a identificar cuentas que no deben eliminarse accidentalmente.
6.2 Limpiar periódicamente usuarios sin uso
6.2.1 Mostrar la última hora de inicio de sesión de todos los usuarios
lastlog
Salida de ejemplo
Username Port From Latest
root tty1 Mon Feb 12 14:02:08 +0000 2025
user1 pts/0 192.168.1.10 Mon Jan 15 10:30:12 +0000 2025
user2 pts/1 192.168.1.20 Never logged in
- Nunca ha iniciado sesión → El usuario nunca ha iniciado sesión
sudo deluser user2 --remove-home
6.2.2 Verificar el último cambio de contraseña
sudo chage -l user1
sudo passwd --expire user1
La próxima vez que el usuario inicie sesión, se requerirá restablecer la contraseña por razones de seguridad.
6.3 Verificar usuarios conectados vía SSH
who | grep pts
Salida de ejemplo
user1 pts/0 192.168.1.10 11:30
Esto ayuda a identificar usuarios remotos y sus direcciones IP.
6.4 Exportar toda la información de usuarios a CSV
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Ejemplo users.csv
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
- Exporta nombre de usuario, UID, GID y directorio home
- Los datos pueden analizarse con Excel o hojas de cálculo
7. Preguntas frecuentes
7.1 ¿Puedo editar /etc/passwd directamente?
Respuesta: Editar directamente no se recomienda. Modificaciones incorrectas pueden impedir el inicio de sesión o dañar el sistema.
Método más seguro:
sudo vipw
7.2 Diferencia entre los comandos who y users
| Command | Description |
|---|---|
who | Displays detailed login information |
users | Displays only usernames of logged-in users |
7.3 Cómo comprobar el historial de inicio de sesión de un usuario específico
last user1
7.4 Cómo cambiar la contraseña de un usuario
sudo passwd user1
7.5 Cómo desactivar temporalmente a un usuario
sudo usermod -L user1
sudo usermod -U user1
7.6 Añadir un usuario al grupo sudo
sudo usermod -aG sudo user1
7.7 Cambiar el directorio home de un usuario
sudo usermod -d /new/home/path -m user1
7.8 Eliminar completamente un usuario y sus datos
sudo deluser --remove-home user1
or
sudo userdel -r user1
7.9 Ver actividad detallada de los usuarios conectados
w
- Usuarios conectados
- Direcciones IP remotas
- Procesos actuales
- Carga del sistema
Esto permite a los administradores monitorear el uso y detectar accesos no autorizados.
