CRYPT/SMALL>_ENAB es `yes', lo que indica que el sistema acepta passwords basados en MD5, que proporcionan una longitud para las claves
ilimitada y salts más largos que el esquema clásico de Unix. La
única razón para asignarle a esta última directiva un valor `no' en
los Linux modernos es por razones de compatibilidad, ya que la seguridad que
proporciona este tipo de claves es mucho mayor que la proporcionada por los
mecanismos habituales de Unix.
Dejando ya de lado el archivo /etc/login.defs, pero siguiendo con la
gestión de las contraseñas de usuario, para consultar el estado de las
mismas en un sistema Linux
hemos de ejecutar la orden `passwd -S' seguida del nombre del usuario
correspondiente; por desgracia, en Linux no existe un parámetro `-a'
similar al de Solaris, que muestre información de todos los usuarios, por lo
que hemos de hacer la consulta uno a uno:
luisa:~# for i in `awk -F: '{print $1}' /etc/passwd`
> do
> passwd -S $i
> done
root P 12/28/2000 0 -1 -1 -1
bin L 10/28/1996 0 -1 -1 -1
daemon L 10/28/1996 0 -1 -1 -1
adm L 10/28/1996 0 -1 -1 -1
lp L 10/28/1996 0 -1 -1 -1
sync L 10/28/1996 0 -1 -1 -1
shutdown L 10/28/1996 0 -1 -1 -1
halt L 10/28/1996 0 -1 -1 -1
mail L 10/28/1996 0 -1 -1 -1
news L 10/28/1996 0 -1 -1 -1
uucp L 10/28/1996 0 -1 -1 -1
operator L 10/28/1996 0 -1 -1 -1
games L 10/28/1996 0 -1 -1 -1
ftp L 10/28/1996 0 -1 -1 -1
gdm L 10/28/1996 0 -1 -1 -1
nobody L 10/28/1996 0 -1 -1 -1
toni P 12/29/2000 0 99999 7 -1
prova NP 10/23/2001 0 99999 7 -1
luisa:~#
El segundo campo de cada línea del listado anterior proporciona el estado
de la clave correspondiente: `P' si el usuario tiene contraseña, `L' si la cuenta está bloqueada, y `NP' si el usuario no tiene clave
asignada; en este último caso es muy importante poner un password al
usuario o bien bloquear su acceso:
luisa:~# passwd -S prova
prova NP 10/23/2001 0 99999 7 -1
luisa:~# passwd -l prova
Password changed.
luisa:~# passwd -S prova
prova L 10/23/2001 0 99999 7 -1
luisa:~#
El resto de campos del listado hacen referencia propiedades de envejecimiento
de las claves: cuando se cambió la contraseña de cada usuario por última
vez, cuales son sus periodos de validez máximo y mínimo, el periodo de
aviso y el periodo de inactividad antes de bloquear el acceso de forma
automática; también mediante passwd (o equivalentemente mediante
chage) podemos - como root - modificar esta información para
cada uno de nuestros usuarios. Por ejemplo, si queremos que la clave del
usuario `prova' tenga un periodo de validez máximo de un mes y
mínimo de 10 días, que se avise al usuario de que su clave va a
caducar con una antelación de una semana, y que si una vez la clave ha
caducado el usuario no entra al sistema en cinco días se bloquee su cuenta
podemos conseguirlo con la siguiente orden:
luisa:~# passwd -S prova
prova L 10/23/2001 0 99999 7 -1
luisa:~# passwd -x 30 -n 10 -w 7 -i 5 prova
Password changed.
luisa:~# passwd -S prova
prova L 10/23/2001 10 30 7 5
luisa:~#
Como en este caso la cuenta está bloqueada, los cambios tendrán efecto
cuando
esta se desbloquee (o directamente se le asigne una nueva clave) y comience a
ser utilizada; a diferencia de otros sistemas Unix, el desbloqueo de un acceso
en Linux guarda una especie de estado: conserva la contraseña que el usuario
tenía antes de que su cuenta fuera bloqueada.
© 2002 Antonio Villalón Huerta