/etc/passwd
Cuando se añade un nuevo usuario en Linux, se añade una nueva entrada en el fichero /etc/passwd. A este archivo tienen acceso de lectura todos los usuarios del sistema. Cada entrada contiene información de un sólo usuario, separada por “:”. Por ejemplo:
root: x:0:0:root:/root:/bin/bash
david: x:1000:1000:david,,,:/home/david:/bin/bash
Los campos son:
- Username de la persona o servicio que usa esa cuenta.
- Password hasheado. Si contiene una x indica que se guarda en /etc/shadow.
- User ID: identificador único de usuario. Es un entero no negativo. 0 es el del root.
- Group ID: lo mismo para el grupo. Los grupos y sus nombres asociados se especifican en /etc/group. En /etc/passwd se guarda el GID por defecto, ya que un usuario puede pertenecer a varios grupos.
- Full name: nombre completo o otros comentarios,
- Home directory: directorio por defecto en el sistema para esa cuenta.
- Default shell: shell que arrancara por defecto cuando el usuario haga login o abra una shell.
/etc/group
Los grupos son similares a los usuarios en su administración y se definen en /etc/group. Las entradas siguen una estructura parecida:
root: x:0:
david: x:1000:
En este caso:
- Group name o nombre único que lo identifica.
- Group password: como los usuarios, pueden tener un password o no tenerlo si está vacio.
- Group ID: identificador único del grupo.
- Group member list: lista de los miembros por username.
/etc/shadow
Para evitar que los passwords encryptados sean accesibles a todo el mundo, se guardan en /etc/shadow de la siguiente manera:
david:$1$WIc/jeBW$TN5To9LyEDgETSYV.O3VD.:14233:0:99999:7:::
- Username.
- Password.
- Días desde el 1 de enero de 1970 hasta el último cambio de password.
- Mínimo número de dias que deben pasar para que el usuario pueda cambiar su password.
- Máximo número de días hasta que se requiera cambiarla.
- Días antes de que se reciba un warning de que la contraseña caduca.
- Días con la contraseña caducada antes de que la cuente quede deshabilitada.
- Días desde el 1 de enero de 1970 en el que la cuenta expira.
- Reservado.
En el caso de los grupos el archivo que contiene los passwords es /etc/gshadow.
Comandos útiles
useradd: para crear una cuenta de usuario.
usermod: modifica una cuenta existente.
userdel: borra una cuenta.
groupadd: añade un grupo al sistema.
groupmod: modifica los parámetros de un grupo.
groupdel: borra un grupo.
passwd: fija el password para un usuario.
gpasswd: fija el password para un grupo.
pwconv: habilita el uso de shadow password en el sistema.
pwunconv: revierte el uso del archivo shadow al archivo estándar passwd.
grpconv y :grpunconv: lo mismo para grupo.