- 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/passwdEste 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/bashCada 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/passwdO bien, con awk:
awk -F':' '{ print $1 }' /etc/passwdEjemplo de salida:
root
user1
user22.3 Buscar un usuario específico
Para verificar si un usuario existe en el sistema, se puede usar grep:
grep 'user1' /etc/passwdEsto 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: -f1También es posible comprobar los grupos de un usuario específico:
groups user1Ejemplo de salida:
user1 : user1 sudoEsto 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
whoEjemplo de salida
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30Explicación de los campos
- Nombre de usuario (usuario conectado)
- Nombre del terminal (consola física
tty1o 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
wEjemplo 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 sshdExplicació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
usersEjemplo de salida
user1 user2Es 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
whoamiEjemplo de salida
user1Esto 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
lastEjemplo 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 user1Ejemplo 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 user1Ejemplo de salida
user1 : user1 sudo dockerSi 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 fingerEjemplo de comando
finger user1Ejemplo de salida
Login: user1 Name: User One
Directory: /home/user1 Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0Campos 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 user1Ejemplo 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 : 5Campos 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 newuserFlujo 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 newuserOpciones
-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 newuserEliminar también el directorio home
sudo deluser --remove-home newuserEsto elimina también /home/newuser.
5.2.2 Comando userdel (avanzado)
Permite un control más directo, pero requiere precaución.
Ejemplo
sudo userdel newuserEliminar junto con el directorio home
sudo userdel -r newuser5.3 Editar usuarios
Para modificar cuentas existentes se usa usermod.
5.3.1 Cambiar nombre de usuario
sudo usermod -l newname oldname5.3.2 Cambiar directorio home
sudo usermod -d /new/home/path user1O mover el directorio actual:
sudo usermod -d /home/newuser -m user15.3.3 Modificar grupos
sudo usermod -aG sudo user1Comprobar grupos:
groups user15.3.4 Cambiar contraseña
sudo passwd user1Ejemplo de salida:
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully6. 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 sudoEjemplo de salida:
sudo:x:27:user1,user2Esto permite identificar rápidamente usuarios administradores.
6.1.2 Listar usuarios con acceso de inicio de sesión
grep '/bin/bash' /etc/passwdEjemplo de salida:
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bashSe excluyen las cuentas del sistema (nologin).
6.1.3 Listar usuarios de sistema (sin acceso)
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwdEjemplo de salida:
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false6.2 Eliminar periódicamente usuarios inactivos
6.2.1 Ver último inicio de sesión
lastlogEjemplo 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 inUsuarios con Never logged in suelen eliminarse.
sudo deluser user2 --remove-home6.2.2 Revisar fecha del último cambio de contraseña
sudo chage -l user1Si está desactualizada, se puede forzar un cambio:
sudo passwd --expire user16.3 Ver usuarios conectados vía SSH
who | grep ptsEjemplo:
user1 pts/0 192.168.1.10 11:306.4 Exportar información de usuarios en CSV
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csvEjemplo de salida (users.csv):
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2Esto 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 vipw7.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
whoSalida
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30usersSalida
user1 user27.3 ¿Cómo ver el historial de inicio de sesión de un usuario específico?
Respuesta
Usar el comando last.
Ejemplo
last user1Salida
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 user1Salida
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully7.5 ¿Se puede desactivar temporalmente un usuario?
Respuesta
Sí, usando usermod para bloquear y desbloquear la cuenta.
Bloquear cuenta
sudo usermod -L user1Desbloquear cuenta
sudo usermod -U user17.6 ¿Cómo añadir un usuario al grupo sudo?
Respuesta
Con el comando usermod -aG.
Ejemplo
sudo usermod -aG sudo user17.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 user1Salida
user1 home directory has been moved to /new/home/path7.8 ¿Cómo eliminar completamente un usuario y sus datos?
Respuesta
Con deluser o userdel.
Ejemplos
sudo deluser --remove-home user1O bien:
sudo userdel -r user17.9 ¿Cómo ver la actividad detallada de usuarios conectados?
Respuesta
Usar el comando w.
Ejemplo
wSalida
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



