- 1 1. Introducción
- 2 2. Cómo comprobar la lista de usuarios en Ubuntu
- 3 3. Cómo comprobar los usuarios actualmente conectados
- 4 4. Cómo consultar información detallada de usuarios
- 5 5. Gestión de usuarios en Ubuntu (añadir, eliminar, editar)
- 6 6. Ejemplos de uso según escenarios
- 7 7. Preguntas frecuentes (FAQ)
- 7.1 7.1 ¿Es seguro editar directamente /etc/passwd?
- 7.2 7.2 ¿Cuál es la diferencia entre los comandos who y users?
- 7.3 7.3 ¿Cómo ver 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 ¿Se puede desactivar temporalmente un usuario?
- 7.6 7.6 ¿Cómo añadir un usuario al grupo sudo?
- 7.7 7.7 ¿Cómo cambiar el directorio home de un usuario?
- 7.8 7.8 ¿Cómo eliminar completamente un usuario y sus datos?
- 7.9 7.9 ¿Cómo ver la actividad detallada de usuarios conectados?
1. Introducción
Ubuntu es una de las distribuciones de Linux más populares, utilizada por una gran cantidad de usuarios, desde entornos personales hasta servidores empresariales. La gestión de cuentas de usuario es esencial para la administración del sistema. En particular, comprobar la lista de usuarios registrados es útil para la seguridad y la organización de cuentas.
En este artículo explicaremos en detalle cómo verificar la lista de usuarios en Ubuntu. Presentaremos desde los comandos básicos hasta métodos para obtener información detallada, de manera que resulte útil tanto para principiantes como para administradores avanzados.
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. A continuación, se muestran los métodos principales.
2.1 Mostrar la lista de usuarios con /etc/passwd
En Ubuntu, toda la información de los usuarios se guarda en el archivo /etc/passwd
. Al visualizar este archivo, se pueden consultar todos los usuarios registrados.
Ejemplo de comando
cat /etc/passwd
Este comando mostrará información con 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á separada por el carácter «:
» (dos puntos) e incluye los siguientes campos:
- Nombre de usuario
- Contraseña (actualmente oculta con x)
- UID (User ID)
- GID (Group ID)
- Información adicional (comentarios)
- Directorio home
- Shell por defecto
Este archivo también contiene usuarios del sistema. Para listar solo los usuarios con acceso interactivo, se pueden usar filtros adicionales.
2.2 Obtener solo los nombres de usuario
Para listar únicamente los nombres de usuario, se pueden usar los siguientes comandos:
cut -d: -f1 /etc/passwd
O bien, con awk
:
awk -F':' '{ print $1 }' /etc/passwd
Ejemplo de salida:
root
user1
user2
2.3 Buscar un usuario específico
Para verificar si un usuario existe en el sistema, se puede usar grep
:
grep 'user1' /etc/passwd
Esto mostrará únicamente la información relacionada con user1
.
2.4 Obtener lista de grupos desde /etc/group
Para comprobar los grupos del sistema, se consulta el archivo /etc/group
:
cat /etc/group | cut -d: -f1
También es posible comprobar los grupos de un usuario específico:
groups user1
Ejemplo de salida:
user1 : user1 sudo
Esto indica que user1
pertenece también al grupo sudo
.

3. Cómo comprobar los usuarios actualmente conectados
En Ubuntu existen varios métodos para verificar qué usuarios están conectados en el sistema. Mediante comandos específicos se puede identificar qué sesiones están abiertas y obtener información detallada de cada acceso.
3.1 Ver usuarios conectados con who
El comando who
muestra todos los usuarios actualmente conectados.
Ejemplo de comando
who
Ejemplo de salida
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 (consola física
tty1
o conexión remotapts/0
) - Hora de inicio de sesión
Este comando es sencillo y útil cuando solo se desea verificar rápidamente qué usuarios están conectados.
3.2 Ver información detallada con w
El comando w
proporciona más detalles que who
.
Ejemplo de comando
w
Ejemplo de salida
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 activo del sistema (up 2:15)
- Número de usuarios conectados (2 users)
- Carga del sistema (load average)
- Usuario (USER)
- Terminal (TTY)
- Origen de la conexión (FROM)
- Hora de inicio de sesión (LOGIN@)
- Tiempo inactivo (IDLE)
- Uso de CPU (JCPU, PCPU)
- Proceso en ejecución (WHAT)
Este comando resulta muy útil para la administración de accesos remotos, ya que muestra también la dirección IP en el campo FROM
.
3.3 Ver usuarios conectados de forma simple con users
Si solo se desea listar los nombres de usuario conectados, se puede usar users
.
Ejemplo de comando
users
Ejemplo de salida
user1 user2
Es una versión simplificada de who
, que muestra únicamente los nombres.
3.4 Ver el usuario actual con whoami
Para identificar qué usuario está ejecutando el terminal en ese momento, se usa whoami
.
Ejemplo de comando
whoami
Ejemplo de salida
user1
Esto confirma bajo qué cuenta se están ejecutando los comandos.
3.5 Ver historial de inicios de sesión con last
El comando last
permite consultar el historial de accesos al sistema.
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)
Explicación de los campos
- Nombre de usuario
- Terminal de conexión (tty1, pts/0, etc.)
- Origen de la conexión (IP)
- Hora de inicio de sesión
- Hora de cierre de sesión (still logged in indica sesión activa)
- Duración de la sesión
Esto resulta útil para monitorear accesos anteriores y detectar posibles conexiones no autorizadas.
4. Cómo consultar información detallada de usuarios
Ubuntu ofrece varios comandos para obtener información detallada de los usuarios registrados, como UID, GID, shell de inicio de sesión y grupos. Esto ayuda a configurar permisos y administrar el sistema de manera correcta. A continuación, veremos cómo usar id
, finger
y chage
.
4.1 Ver UID, GID y grupos con id
El comando id
muestra el UID (User ID), el GID (Group ID) y los grupos asociados.
Ejemplo de comando
id user1
Ejemplo de salida
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
Explicación
uid=1001(user1)
→ Identificador de usuariogid=1001(user1)
→ Grupo principalgroups=...
→ Lista de grupos a los que pertenece
Si se ejecuta sin argumentos (id
), mostrará la información del usuario actual.
4.2 Ver grupos de un usuario con groups
El comando groups
lista de manera simple los grupos de un usuario.
Ejemplo de comando
groups user1
Ejemplo de salida
user1 : user1 sudo docker
Si se ejecuta sin argumentos (groups
), mostrará los grupos del usuario actual.
4.3 Obtener información extendida con finger
El comando finger
ofrece datos adicionales como el nombre completo, directorio home, shell y último inicio de sesión.
Instalación
No viene instalado por defecto, por lo que se requiere:
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
Campos principales
- Login → nombre de usuario
- Name → nombre completo configurado
- Directory → directorio home
- Shell → shell predeterminado
- Last login → último inicio de sesión
4.4 Ver caducidad de contraseñas con chage
El comando chage
permite consultar la fecha de caducidad de contraseñas y políticas relacionadas.
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
Campos principales
- Last password change → último cambio de contraseña
- Password expires → fecha de caducidad
- Password inactive → inactividad tras caducidad
- Account expires → fecha de expiración de la cuenta
- Minimum/Maximum days → política de cambios
- Warning days → días de aviso antes de caducar
Esto ayuda a reforzar la seguridad mediante políticas de contraseñas.
5. Gestión de usuarios en Ubuntu (añadir, eliminar, editar)
En Ubuntu, la gestión correcta de los usuarios por parte del administrador es fundamental. Añadir nuevos usuarios, eliminarlos o modificar su información garantiza la seguridad y eficiencia del sistema. A continuación, se explican los comandos adduser
, deluser
y usermod
.
5.1 Añadir usuarios
Para crear un nuevo usuario en Ubuntu se pueden usar adduser
o useradd
.
5.1.1 Comando adduser
(recomendado)
adduser
es interactivo y fácil de usar.
Ejemplo de comando
sudo adduser newuser
Flujo interactivo
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]
Se crea lo siguiente
- Cuenta de usuario
- Grupo propio
- Directorio home (
/home/newuser
) - Contraseña de inicio de sesión
- Información básica del usuario
Es la opción más común y sencilla para principiantes.
5.1.2 Comando useradd
(para usuarios avanzados)
useradd
es más simple y orientado a scripts, pero no crea automáticamente el directorio home.
Ejemplo de comando
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
Opciones
-m
→ crea el directorio home-s /bin/bash
→ define la shell predeterminada
Es necesario establecer la contraseña por separado.
5.2 Eliminar usuarios
Para eliminar cuentas innecesarias se usan deluser
o userdel
.
5.2.1 Comando deluser
(recomendado)
Es la contraparte de adduser
y elimina usuarios de forma sencilla.
Ejemplo
sudo deluser newuser
Eliminar también el directorio home
sudo deluser --remove-home newuser
Esto elimina también /home/newuser
.
5.2.2 Comando userdel
(avanzado)
Permite un control más directo, pero requiere precaución.
Ejemplo
sudo userdel newuser
Eliminar junto con el directorio home
sudo userdel -r newuser
5.3 Editar usuarios
Para modificar cuentas existentes se usa usermod
.
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
O mover el directorio actual:
sudo usermod -d /home/newuser -m user1
5.3.3 Modificar grupos
sudo usermod -aG sudo user1
Comprobar grupos:
groups user1
5.3.4 Cambiar contraseña
sudo passwd user1
Ejemplo de salida:
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
6. Ejemplos de uso según escenarios
La gestión de usuarios en Ubuntu no se limita a listar, añadir o eliminar. Es clave conocer comandos adaptados a situaciones concretas. Veamos algunos casos comunes.
6.1 Buscar usuarios con condiciones específicas
6.1.1 Mostrar usuarios con privilegios sudo
getent group sudo
Ejemplo de salida:
sudo:x:27:user1,user2
Esto permite identificar rápidamente usuarios administradores.
6.1.2 Listar usuarios con acceso de inicio de sesión
grep '/bin/bash' /etc/passwd
Ejemplo de salida:
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
Se excluyen las cuentas del sistema (nologin
).
6.1.3 Listar usuarios de sistema (sin acceso)
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
Ejemplo de salida:
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false
6.2 Eliminar periódicamente usuarios inactivos
6.2.1 Ver último inicio de sesión
lastlog
Ejemplo de salida:
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
Usuarios con Never logged in
suelen eliminarse.
sudo deluser user2 --remove-home
6.2.2 Revisar fecha del último cambio de contraseña
sudo chage -l user1
Si está desactualizada, se puede forzar un cambio:
sudo passwd --expire user1
6.3 Ver usuarios conectados vía SSH
who | grep pts
Ejemplo:
user1 pts/0 192.168.1.10 11:30
6.4 Exportar información de usuarios en CSV
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Ejemplo de salida (users.csv
):
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
Esto facilita el análisis en Excel o Google Sheets.
7. Preguntas frecuentes (FAQ)
A continuación se responden dudas comunes relacionadas con la gestión de usuarios en Ubuntu. Esta sección resulta útil para la resolución de problemas y la administración diaria.
7.1 ¿Es seguro editar directamente /etc/passwd
?
Respuesta
No se recomienda. /etc/passwd
es un archivo crítico del sistema y editarlo manualmente puede provocar errores de inicio de sesión.
Método recomendado
Usar usermod
o vipw
para modificarlo de manera segura.
Ejemplo seguro
sudo vipw
7.2 ¿Cuál es la diferencia entre los comandos who
y users
?
Respuesta
Comando | Descripción |
---|---|
who | Muestra usuarios conectados con detalles (hora, terminal, etc.) |
users | Lista solo los nombres de usuario conectados |
Ejemplo
who
Salida
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30
users
Salida
user1 user2
7.3 ¿Cómo ver el historial de inicio de sesión de un usuario específico?
Respuesta
Usar el comando last
.
Ejemplo
last user1
Salida
user1 pts/0 192.168.1.10 Mon Feb 15 10:20 still logged in
user1 tty1 Mon Feb 10 09:30 - 10:00 (00:30)
7.4 ¿Cómo cambiar la contraseña de un usuario?
Respuesta
El administrador puede usar passwd
.
Ejemplo
sudo passwd user1
Salida
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
7.5 ¿Se puede desactivar temporalmente un usuario?
Respuesta
Sí, usando usermod
para bloquear y desbloquear la cuenta.
Bloquear cuenta
sudo usermod -L user1
Desbloquear cuenta
sudo usermod -U user1
7.6 ¿Cómo añadir un usuario al grupo sudo?
Respuesta
Con el comando usermod -aG
.
Ejemplo
sudo usermod -aG sudo user1
7.7 ¿Cómo cambiar el directorio home de un usuario?
Respuesta
Usar usermod -d
con la opción -m
para mover el contenido.
Ejemplo
sudo usermod -d /new/home/path -m user1
Salida
user1 home directory has been moved to /new/home/path
7.8 ¿Cómo eliminar completamente un usuario y sus datos?
Respuesta
Con deluser
o userdel
.
Ejemplos
sudo deluser --remove-home user1
O bien:
sudo userdel -r user1
7.9 ¿Cómo ver la actividad detallada de usuarios conectados?
Respuesta
Usar el comando w
.
Ejemplo
w
Salida
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
- Usuarios conectados
- Direcciones IP remotas
- Procesos en ejecución
- Carga del sistema