/etc/passwd almacena registros de cuentas locales en un formato de texto separado por dos puntos. Asocia nombres de inicio de sesión con UID numéricos y registra un GID principal, un campo descriptivo, una ruta personal y un programa de inicio de sesión.
Gestión de Usuarios · Lección 3
/etc/passwd
Aprende a leer registros passwd locales y a distinguirlos de la vista completa de cuentas proporcionada por NSS.
Registros locales frente a cuentas resueltas
Muestra el archivo local con una orden de solo lectura:
$ cat /etc/passwd
Esto no representa necesariamente todas las cuentas conocidas por el sistema. Name Service Switch (NSS) puede resolver cuentas desde archivos, servicios de directorio, bases de datos del sistema u otros orígenes configurados. Usa getent para consultar la base de datos passwd resuelta:
$ getent passwd
$ getent passwd root
La primera orden puede revelar nombres y metadatos de cuentas, así que revisa la salida antes de compartirla públicamente.
¿Qué orden consulta la base de datos passwd resuelta por NSS en vez de leer únicamente el archivo local?
Leer los siete campos
Un registro local suele tener este aspecto:
root:x:0:0:root:/root:/bin/bash
Los siete campos separados por dos puntos son:
- Nombre de inicio de sesión: el nombre legible de la cuenta, como
root. - Campo de contraseña: normalmente
xen un sistema con contraseñas shadow, lo que indica que los datos protegidos se almacenan por separado. - UID: la identidad numérica del usuario. El UID 0 recibe el tratamiento tradicional de superusuario.
- GID principal: el identificador numérico del grupo principal de la cuenta.
- GECOS/comentario: información descriptiva de la cuenta, a menudo separada internamente por comas.
- Directorio personal: la ruta configurada como directorio personal de la cuenta; puede no existir en disco.
- Shell/programa de inicio de sesión: el programa solicitado para las sesiones de inicio de sesión correspondientes, como
/bin/basho un programa que impide el inicio de sesión.
El kernel no exige que los UID sean únicos en registros mal formados o duplicados deliberadamente, pero las cuentas que comparten un UID son indistinguibles para muchas decisiones de propiedad y permisos. Los administradores deben mantener normalmente los UID de las cuentas únicos.
En root:x:0:0:root:/root:/bin/bash, ¿qué campo contiene el UID?
¿Qué campo de un registro passwd almacena el GID principal de la cuenta?
Interpretar el marcador de contraseña
En los sistemas habituales con contraseñas shadow, x en el campo 2 dirige las herramientas compatibles con contraseñas a los datos protegidos de /etc/shadow. Valores como * o ! no son hashes de contraseña válidos y suelen impedir la autenticación mediante una contraseña Unix a través de esa entrada.
Esto no demuestra que la cuenta no pueda autenticarse por ningún método. Las claves SSH, los certificados, los tokens o los mecanismos específicos de un servicio pueden ser independientes. Del mismo modo, un campo de contraseña vacío tiene un comportamiento sensible para la seguridad que depende de la pila de autenticación; no lo crees ni lo «corrijas» manualmente.
¿Qué significa habitualmente x en el campo 2 de un registro local de /etc/passwd?
Reconocer cuentas de servicio
Muchos registros representan servicios en vez de personas. Las identidades de servicio separadas ayudan a limitar los archivos y procesos a la autoridad necesaria para un daemon. Sus rutas personales pueden ser inusuales o inexistentes, y su programa de inicio de sesión puede ser /usr/sbin/nologin, /bin/false u otro programa restringido.
No deduzcas el propósito de una cuenta únicamente por su intervalo de UID sin consultar la política de la distribución. Los intervalos de asignación varían y las cuentas gestionadas centralmente pueden seguir convenciones distintas.
¿Cuál es un propósito habitual de un programa de inicio de sesión como /usr/sbin/nologin en el campo 7?
Modificar registros de cuentas de forma segura
Prefiere herramientas de gestión de cuentas como useradd, usermod y userdel, ya que coordinan registros relacionados y aplican los valores predeterminados del sistema. Su comportamiento exacto puede configurarse por distribución, así que revisa las opciones antes de cambiar una cuenta.
Si una base de datos passwd local necesita realmente una reparación manual, usa vipw en vez de un editor normal. Aplica un bloqueo destinado a evitar ediciones simultáneas. Valida las bases de datos con herramientas como pwck y mantén una sesión de recuperación antes de cambiar archivos de autenticación de forma remota.
Para practicar los registros de usuarios y grupos en un entorno controlado, prueba estos laboratorios prácticos:
- Gestionar cuentas de usuario de Linux con useradd, usermod y userdel - Practica todo el ciclo de administración de usuarios, desde crear y proteger cuentas hasta modificarlas y eliminarlas.
- Gestionar grupos de Linux con groupadd, usermod y groupdel - Practica las utilidades principales para crear grupos y modificar pertenencias de usuarios.
Lección completada
Has completado /etc/passwd
Ahora puedes interpretar registros passwd locales sin confundirlos con la base de datos de identidades completa.
Consulta cuentas resueltas por NSS con
getent passwd.Lee los siete campos de passwd separados por dos puntos.
Localiza los campos UID y GID principal.
Interpreta los marcadores de contraseña sin exagerar el estado de inicio de sesión.
Usa herramientas de cuentas o
vipwen vez de un editor normal.
Guarda tu progreso
Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.
Crear una cuenta gratuita