En esta entrada indicare el formato de 3 archivos importantes de todo linux y que afectan directamente a los usuarios, estos son /etc/shadow /etc/passwd y /etc/group
/etc/shadow
Este archivo almacena principalmente las contraseñas cifradas de los usuarios, pero ademas indica información extra en cuanto a ellas, cuantos días deben pasar para solicitar un cambio, cuanto tiempo durara una cuenta antes de bloquearla, cuanto será el mínimo de tiempo entre cambios de contraseñas.
Todas estas opciones las podemos editar con el comando chage como ya veremos más adelante
Formato
#cat /etc/shadow | grep test test:$6$aysyaFbA$Wp3Hcp7hYydE7wePw/1I1VvjHJ2N1lGUfB3VbVCp5Hwgnw/xQ/3HyV2ars.oTC446WHnmOJIiT0rW4X367gw31:18311:0:99999:7:::
En el ejemplo vemos que el separador para cada uno de los campos es «:» y el primer campo corresponde al nombre del usuario en este caso, el usuario test
El siguiente campo :$6$aysyaFbA$Wp3Hcp7hYydE7wePw/1I1VvjHJ2N1lGUfB3VbVCp5Hwgnw/xQ/3HyV2ars.oTC446WHnmOJIiT0rW4X367gw31: contiene la contraseña cifrada del usuario el cual incluye un salt que se introduce en la contraseña antes de cifrarla, si el usuario no tiene una contraseña asignada el campo quedara solo con un signo de exclamación «!» como el ejemplo a continuación
# cat /etc/shadow | grep test test:!:18311:0:99999:7:::
Esto causará que no podamos iniciar sesión con ese usuario de ninguna forma hasta que configuremos una contraseña
El campo a continuación :18311: indicara el ultimo cambio de la contraseña
el campo :0: nos indica cuantos días deben pasar entre cambios de contraseña
el campo siguiente :99999: nos dirá cuantos días deben pasar como máximo antes de un cambio de contraseña
:7: serán los días que esperara antes de bloquear la cuenta
:::
Aquí debería ir el periodo de advertencia y el de inactividad en días
en otro post veremos como cambiar estos parámetros
/etc/passwd
Cuando usamos el comando useradd (o usermod) escribimos la información en este archivo
Formato
# cat /etc/passwd | grep test test:x:1003:1003::/home/test:
de este archivo no hay mucho que comentar el formato es el siguiente
<usuario>:x:<UID>:<GID>:<comentario>:<Directorio home>:<shell>
Al igual que en /etc/shadow se inicia con el nombre del usuario
La :x: en versiones muy antiguas era usada para almacenar la contraseña en claro, esto se sustituyo por el archivo /etc/shadow
UID es el ID de usuario (User ID) con que se identifica en el sistema, este numero por lo general se elige de forma aleatoria sin embargo hay ciertos rangos predeterminados
1 -200 UID de sistema
201 -999 UID de servicios
<1000 UID de usuarios
Estos valores se pueden configurar para que use otros rangos predeterminados
y para terminar /etc/group
formato
# cat /etc/group | grep test test:x:1003:
De este archivo no hay mucho que decir, el formato es bastante básico
<nombre grupo>:x:<GID>:<listado de usuarios que pertenecen al grupo>
si tenemos los conocimientos necesarios podemos editar cualquiera de estos archivos en vez de utilizar el comando correspondiente, obviamente se sugiere siempre usar el comando ya que se asegura una correcta escritura en el archivo correspondiente.