iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Para ver quién tiene una sesión registrada en el equipo, ejecuta users. Si necesitas terminal, hora y demás datos de cada sesión, usa who. Para consultar las cuentas locales, lee /etc/passwd; para conocer el UID, GID y grupos de la identidad con la que se ejecuta tu proceso, usa id. En equipos con systemd-logind también puedes consultar loginctl list-users y loginctl list-sessions.
Estos comandos no son equivalentes: una cuenta registrada no implica que haya iniciado sesión, y id describe una identidad concreta en lugar de enumerar usuarios.
Primero define qué significa «ver usuarios»
En Linux, la misma pregunta puede referirse a tres conjuntos diferentes:
- Cuentas existentes: registros que el sistema puede resolver como cuentas. Las cuentas locales se describen en
/etc/passwd, pero una instalación también puede obtener identidades mediante servicios como NIS o LDAP. - Sesiones activas o registradas: usuarios que tienen una sesión anotada en el host.
usersmuestra solo nombres ywhoañade información de sesión. - Identidad del proceso actual: UID, GID y grupos efectivos o reales con los que funciona un proceso.
idresponde a esta pregunta.
Elegir la fuente correcta evita conclusiones erróneas: encontrar una línea en /etc/passwd no demuestra que esa cuenta esté conectada, del mismo modo que ver un nombre en users no enumera todas las cuentas disponibles.
#1 Best Overall
Ver rápidamente quién está conectado con users
Ejecuta:
users
El comando imprime los nombres de las personas con usuarios conectados al host actual. La implementación documentada por Linux man-pages lee, si no se indica otro archivo, /var/run/utmp; ese archivo contiene los registros de sesiones que el sistema mantiene para este propósito. La definición de users(1) en Linux man-pages es «users – print the user names of users currently logged in to the current host».
La salida es deliberadamente breve. Una salida como ana pedro ana debe leerse como nombres presentes en los registros de sesiones, no como una lista deduplicada de cuentas. Si necesitas saber qué terminal usa cada entrada o cuándo comenzó la sesión, pasa a who.
Cuándo es suficiente
- Comprobar rápidamente si hay alguna sesión registrada.
- Usar la salida en un script sencillo que solo necesite nombres.
- Confirmar que una conexión remota aparece en los registros de usuario.
Qué no te dice
users no muestra UID, grupos, directorio personal ni shell. Tampoco prueba que todas las cuentas del sistema estén conectadas: solo consulta el estado de sesiones registrado en utmp.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Obtener terminal y hora con who
Para una vista detallada, ejecuta:
who
who lista las sesiones registradas y puede mostrar, entre otros datos, nombre de inicio de sesión, terminal, hora de inicio e inactividad. Su fuente predeterminada también es /var/run/utmp. La documentación de who(1) describe además /var/log/wtmp, que suele utilizarse cuando se le proporciona explícitamente un archivo para consultar un historial de registros.
Una línea típica contiene varias columnas separadas por espacios. No dependas de posiciones exactas si vas a procesarla automáticamente: los campos visibles pueden variar según la implementación y las opciones. Para una inspección humana, en cambio, la salida permite distinguir dos sesiones del mismo nombre en terminales distintas.
Elegir who frente a users
- Usa
userspara una respuesta de una sola línea con nombres. - Usa
whopara relacionar cada nombre con su terminal y hora. - Usa la información de
utmpcomo registro de sesiones, no como inventario de cuentas.
Si el resultado parece incompleto, comprueba qué componente inició la sesión y si la registró en utmp. Una sesión gráfica, un servicio o una conexión gestionada de forma particular puede no aparecer igual que una terminal que actualiza ese archivo.
Listar las cuentas locales en /etc/passwd
Para leer las cuentas definidas localmente, ejecuta:
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →cat /etc/passwd
Cada línea describe una cuenta de inicio de sesión y contiene siete campos separados por dos puntos. La página de manual de passwd(5) define este archivo como un fichero de texto que describe las cuentas de inicio de sesión del sistema.
| Orden | Campo | Qué representa |
|---|---|---|
| 1 | Nombre de inicio de sesión | El nombre con el que se identifica la cuenta. |
| 2 | Campo de contraseña | El campo reservado para la información de contraseña. |
| 3 | UID | Identificador numérico del usuario. |
| 4 | GID | Identificador numérico del grupo principal. |
| 5 | Campo informativo | Información descriptiva asociada a la cuenta. |
| 6 | Directorio personal | Ruta del directorio de inicio del usuario. |
| 7 | Shell | Programa de shell configurado para la cuenta. |
El archivo puede incluir cuentas utilizadas por servicios, además de las cuentas de personas. Por eso, el número de líneas no equivale al número de usuarios humanos que pueden iniciar sesión.
Buscar una cuenta concreta sin recorrer toda la salida
Si conoces el nombre exacto, filtra el comienzo de la línea:
grep '^nombre:' /etc/passwd
Sustituye nombre por la cuenta que buscas. El carácter ^ exige que el texto aparezca al principio y los dos puntos evitan coincidir con nombres que solo contienen esa cadena en otra posición. Si no aparece ninguna línea, esa cuenta no está definida en el archivo local; no significa necesariamente que no exista en una fuente de identidad centralizada.
Por qué /etc/passwd puede no mostrar a todos
La base de usuarios que consulta un sistema no tiene por qué limitarse al archivo local. La función de biblioteca descrita en getpwent(3) permite recorrer la base de cuentas configurada, que puede integrar fuentes como NIS o LDAP. Esas fuentes dependen de la configuración concreta del equipo.
En una estación o servidor con identidades centralizadas, revisa la configuración de resolución de usuarios y utiliza las herramientas previstas por esa instalación. No deduzcas que una cuenta está ausente del sistema solo porque no aparece en /etc/passwd; ese archivo representa las cuentas locales.
Comprobar tu propia identidad y tus grupos con id
Sin argumentos, ejecuta:
id
El comando informa de la identidad del proceso actual: normalmente muestra el nombre de usuario, su UID, el grupo principal y los grupos suplementarios. Para consultar otra cuenta, añade su nombre:
id nombre
Esto no abre una sesión ni cambia de usuario; solo consulta los datos de la cuenta indicada. Las opciones de id permiten solicitar únicamente UID, GID o grupos, y escoger entre nombres o identificadores numéricos. Por ejemplo:
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #4
id -u
id -g
id -G
id -u deja solo el UID, id -g el GID principal y id -G la lista de grupos. La página de manual de id(1) documenta estas modalidades y la distinción entre identificadores numéricos y nombres.
Cuándo usar id en lugar de los otros comandos
- Verificar con qué cuenta se ejecuta un script o una terminal.
- Comprobar por qué una operación falla por pertenencia a grupos.
- Obtener un UID o GID para una regla, permiso o archivo.
Si quieres saber qué otras cuentas existen, id no es la herramienta adecuada: con el argumento omitido consulta el proceso actual, no enumera usuarios.
Consultar usuarios y sesiones con systemd
En sistemas que ejecutan systemd-logind, puedes consultar su vista de sesiones:
loginctl list-users
loginctl list-sessions
loginctl list-users muestra los usuarios conectados según el gestor de inicio de sesión y loginctl list-sessions enumera las sesiones actuales. La documentación de loginctl(1) corresponde a la interfaz de systemd para estas consultas.
Cuándo elegir loginctl
- Cuando el equipo usa systemd-logind y quieres contrastar su registro con
utmp. - Cuando hay varias sesiones por usuario y necesitas enumerarlas como unidades de sesión.
- Cuando administras un escritorio o servidor systemd y las herramientas de logind son la fuente operativa principal.
Si el sistema no cuenta con systemd-logind, loginctl no puede ofrecer esa información. En ese caso utiliza users o who para los registros disponibles y /etc/passwd para las cuentas locales.
Best Value
Qué comando usar según tu objetivo
| Objetivo | Comando o fuente | Resultado |
|---|---|---|
| Ver solo nombres con sesiones registradas | users |
Lista breve de nombres leída del registro de sesiones. |
| Ver terminal y hora de cada sesión | who |
Sesiones con detalles adicionales del registro utmp. |
| Enumerar cuentas locales | cat /etc/passwd |
Registros de siete campos separados por dos puntos. |
| Buscar una cuenta local por nombre | grep '^nombre:' /etc/passwd |
La línea local que coincide exactamente con el nombre inicial. |
| Ver UID y grupos del proceso actual | id |
Identidad y pertenencia a grupos de la sesión actual. |
| Ver la identidad de otra cuenta | id nombre |
UID, GID y grupos asociados a esa cuenta. |
| Consultar sesiones gestionadas por systemd | loginctl list-users o loginctl list-sessions |
Usuarios y sesiones que reconoce systemd-logind. |
Procedimiento práctico para investigar un equipo
- Empieza por la pregunta. Si solo necesitas saber si hay alguien conectado, ejecuta
users. No abras/etc/passwdpara responder una pregunta sobre sesiones. - Amplía el contexto. Ejecuta
whopara asociar nombres con terminales y horas. Si administras un sistema systemd, contrasta tambiénloginctl list-sessions. - Comprueba una cuenta. Usa
grep '^nombre:' /etc/passwdpara la definición local yid nombrepara ver sus identificadores y grupos. - Verifica tu propio contexto. Ejecuta
idsin argumentos antes de diagnosticar permisos de un comando o script. - Considera fuentes externas. Si la cuenta no está en el archivo local pero otras herramientas la resuelven, revisa la configuración de NIS, LDAP u otra fuente de identidad habilitada.
Problemas habituales y cómo interpretarlos
users o who no muestran a la persona esperada
Ambos comandos dependen de registros de sesiones en /var/run/utmp. La conexión puede no estar registrada allí, o el registro puede no reflejar todavía el estado real. Comprueba la misma situación con loginctl list-sessions si está disponible y determina qué gestor de sesiones utiliza el equipo.
Una cuenta aparece en /etc/passwd pero no en who
Eso es normal: el primer archivo describe una cuenta local y el segundo muestra sesiones registradas. Una cuenta puede existir sin que nadie la esté utilizando en ese momento; muchas entradas corresponden a servicios del sistema.
id muestra grupos inesperados
Revisa si estás consultando tu identidad actual o una cuenta con id nombre. Distingue el grupo principal de los grupos suplementarios y, cuando una política necesita números, utiliza las opciones que muestran UID, GID o grupos numéricos en lugar de basarte en sus nombres.
loginctl falla o no existe
La herramienta necesita el gestor systemd-logind. En sistemas que no lo ejecutan, vuelve a users y who para sesiones registradas. No confundas la ausencia de loginctl con la ausencia de usuarios.
El filtrado devuelve coincidencias incorrectas
Un patrón como grep nombre /etc/passwd también puede coincidir dentro de otra columna o en nombres parecidos. El anclaje ^nombre: limita la búsqueda al campo inicial. Para nombres procedentes de NIS o LDAP, ese filtro solo examina el archivo local y no la base completa que el sistema pueda resolver.
Conclusión operativa
Usa users para la respuesta más corta sobre sesiones, who para sus detalles, /etc/passwd para cuentas locales, id para la identidad y los grupos de un proceso, y loginctl para la vista de systemd-logind. Mantener separadas esas cinco consultas es la forma fiable de saber si estás viendo una cuenta existente, una sesión activa o simplemente la identidad con la que se ejecuta tu comando.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitches

