Introducción
Hay varios esquemas de autenticación que se pueden utilizar en sistemas Linux. El esquema más utilizado es la autenticación con los /etc/passwd
y /etc/shadow
.
/etc/passwd
es una base de datos simple basada en texto que contiene información para todas las cuentas de usuario en el sistema. Es propiedad de root y tiene 644 permisos. El archivo solo puede ser editado por usuarios root o usuarios con privilegios de sudo y todos los usuarios del sistema pueden leerlo.
Se debe evitar editar manualmente el /etc/passwd
menos que sepa lo que está haciendo. Utilice siempre un comando diseñado para tal fin. Por ejemplo, para cambiar una cuenta de usuario, use el usermod
y para agregar una nueva cuenta de usuario, use el comando useradd
Formato del archivo /etc /passwd
El /etc/passwd
es un archivo de texto con una entrada por línea, que representa una cuenta de usuario. Para ver el contenido del archivo, use un editor de texto o un comando como cat
:
cat /etc/passwd
Normalmente, la primera línea describe al usuario root, seguido del sistema y las cuentas de usuario normales. Las nuevas entradas se agregan al final del archivo.
Cada línea del /etc/passwd
contiene siete campos separados por comas:
mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
| | | | | | |
| | | | | | +-> 7. Login shell
| | | | | +----------> 6. Home directory
| | | | +--------------------> 5. GECOS
| | | +--------------------------> 4. GID
| | +-------------------------------> 3. UID
| +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
- Nombre de usuario. La cadena introducida al iniciar sesión en el sistema. Cada nombre de usuario debe ser una cadena única en la máquina. La longitud máxima del nombre de usuario está limitada a 32 caracteres.
- Contraseña. En sistemas Linux más antiguos, la contraseña cifrada del usuario se almacenaba en el
/etc/passwd
. En la mayoría de los sistemas modernos, este campo se establece enx
y la contraseña del usuario se almacena en el/etc/shadow
. - UID. El identificador de usuario es un número asignado a cada usuario. Es utilizado por el sistema operativo para referirse a un usuario.
- GID. El número de identificación de grupo del usuario, que se refiere al grupo principal del usuario. Cuando un usuario crea un archivo, el grupo del archivo se establece en este grupo. Normalmente, el nombre del grupo es el mismo que el del usuario. Los subgrupos de usuarios se enumeran en
/etc/groups
. - GECOS o el nombre completo del usuario. Este campo contiene una lista de valores separados por comas con la siguiente información:
- Nombre de usuario completo o nombre de la aplicación.
- Número de habitación.
- Número de teléfono del trabajo.
- Número de teléfono fijo.
- Otra información de contacto.
- Directorio de inicio. La ruta absoluta al directorio de inicio del usuario. Contiene archivos de usuario y configuraciones. De forma predeterminada, los directorios de inicio de los usuarios reciben el nombre del usuario y se crean en el directorio
/home
- Shell de inicio de sesión. La ruta absoluta al shell de inicio de sesión del usuario. Este es el shell que se inicia cuando el usuario inicia sesión en el sistema. En la mayoría de las distribuciones de Linux, el shell de inicio de sesión predeterminado es Bash.
Conclusión
El /etc/passwd
realiza un seguimiento de todos los usuarios del sistema.