Comprensión del archivo /etc/passwd
En este paso, exploraremos la estructura y el significado del archivo /etc/passwd
.
En los sistemas Linux, la información de las contraseñas de los usuarios se almacena en dos archivos: /etc/passwd
y /etc/shadow
. El archivo /etc/passwd
contiene información de los usuarios, donde cada línea representa una única cuenta de usuario. Cada línea se divide en siete campos separados por dos puntos:
- Nombre de usuario (Username)
- Contraseña (si se establece en
x
, la contraseña se almacena en /etc/shadow
)
- Identificador de usuario (User ID - UID, 0 para el usuario root)
- Identificador de grupo (Group ID - GID)
- Información del usuario (Nombre completo, número de habitación, teléfono de trabajo, teléfono de casa y otros)
- Directorio personal (Home directory)
- Shell predeterminado (Default shell)
Ahora, abra una terminal y navegue hasta el directorio /home/labex/project
para pasar al siguiente paso.
cd /home/labex/project
Obtenga la información del usuario labex
del archivo /etc/passwd
y guárdela en un archivo llamado labex_passwd.txt
en el directorio /home/labex/project
.
grep labex /etc/passwd > /home/labex/project/labex_passwd.txt
Verifique el contenido del archivo labex_passwd.txt
.
cat labex_passwd.txt
Salida esperada:
labex:x:5000:5000::/home/labex:/usr/bin/zsh
A continuación, se muestra lo que representa cada campo:
- Nombre de usuario: test-user
- Contraseña: almacenada en
/etc/shadow
(indicado por x
)
- UID: 5000
- GID: 5000
- Información del usuario: en este caso, está vacía
- Directorio personal:
/home/labex
- Shell predeterminado:
/usr/bin/zsh
Durante el proceso de autenticación de Linux, se producen los siguientes pasos:
- El nombre de usuario ingresado se compara con el primer campo de cada línea del archivo
/etc/passwd
.
- Si se encuentra una coincidencia, se compara la contraseña en el segundo campo.
- Después de una autenticación exitosa, los permisos del usuario se determinan por el UID (tercer campo) y el GID (cuarto campo).
- Es importante destacar que un UID de
0
representa al usuario root, otorgando plenos privilegios de administración, independientemente del nombre de usuario.
Como puede ver, el archivo /etc/passwd
juega un papel fundamental en el proceso de autenticación de Linux. Si un atacante puede modificar este archivo, es posible que pueda obtener acceso no autorizado y elevar sus privilegios.