/etc/passwd
100%

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.

/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.

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:

  1. Nombre de inicio de sesión: el nombre legible de la cuenta, como root.
  2. Campo de contraseña: normalmente x en un sistema con contraseñas shadow, lo que indica que los datos protegidos se almacenan por separado.
  3. UID: la identidad numérica del usuario. El UID 0 recibe el tratamiento tradicional de superusuario.
  4. GID principal: el identificador numérico del grupo principal de la cuenta.
  5. GECOS/comentario: información descriptiva de la cuenta, a menudo separada internamente por comas.
  6. Directorio personal: la ruta configurada como directorio personal de la cuenta; puede no existir en disco.
  7. Shell/programa de inicio de sesión: el programa solicitado para las sesiones de inicio de sesión correspondientes, como /bin/bash o 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.

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 vipw en 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
Siguiente Lección
Volver a Gestión de Usuarios