Los passwords en Unix se dividen en 7 campos, (separados por dos puntos) :
tonto:h34Sd3vc23: 100:100:Alvaro:/usr/tonto:/bin/sh
Primer campo: Tonto
Es el nombre con el que el sistema reconoce al usuario. A eso se le llama
(login). (Perdonadme los que entiendan algo de unix, pero esque lo tengo que
explicar pa alguien que no sepa na de na).
Segundo campo: h34Sd3vc23
Esta es la palabra clave del usuario pero esta encriptada. Si contiene un
asterisco (*) este password esta desactivado y no puede usarse. :(
Tercer campo: 100
Este es el número de usuario del sistema, (que puede ser hasta 60000). El
usuario con nivel 0 es el root o superusuario.
Cuarto campo: 100
Es el número del grupo al que pertenece el usuario, todos los usuarios de un
mismo grupo tienen los mismos privilegios como es logico, (tambien este campo
puede ser del 0 al 60000)
Quinto campo: Alvaro
En este campo aparecen datos adicionales del usuario, (en este caso el
nombre).
Sexto campo: /usr/tonto
Es el directorio home del usuario en cuestion.
Septimo campo: /bin/sh
Es el Shell que el usuario tonto utiliza.
Como si pillas un fichero de passwords que no estan en shadow y te pones a
crackearlo salen passwords como caracoles despues de la lluvia J, se decide
de poner este sistema en que las passwords encryptadas se guardan en un
archivo a parte generalmente en /etc/shadow (pero depende del sistema),
este archivo al contrario del /etc/passwd solo tiene permisos de lectura para
el root.
Luego en el fichero /etc/passwd en vez de la clave encryptada se pone un * o
algun otro simbolo, esto depende del sistema, he aqui unos ejemplos :))
Tipo de UNIX Directorio Simbolo
AIX3 /etc/security/passwd !
SunOs 5.0 /etc/shadow *
UNICOS /etc/udb *
BSD4.3-Reno /etc/master.passwd *
HP-UX /.segure/etc/passwd *
EP/IX /etc/shadow X
IRIX 5 /etc/shadow X
La estructura del fichero /etc/shadow es la siguiente:
username:passwd:last:may:must:warn:expire:disable:
Donde:------username Es el nombre de usuario.
passwd La clave encryptada.
last Los dias que hace que se cambio la clave desde 1/1/1970.
may Los dias que han de pasar para que la clave pueda ser cambiada.
must Los dias en que espira la clave.
warn Los dias en que se avisara al usurario antes de que el passwd
expire.
expire Son los dias que pueden pasar con la clave caducada antes de
que se deshabilite la cuenta.
Hay una seria de circunstancias en que poner contrase¤as a la sombra puede
dar problemas:
. Cuando en la maquina se verifica el password via NFS, NIS o algun otro
metodo.
. Cuando la maquina esta en una LAN y esta usando NIS (Network Information
Services).
En el fichero /etc/login.defs se especifica por ejemplo los dias maximos en
que puede expirar una passwd, los dias minimos, los caracteres minimos que
puede tener, el UID maximo etc...
Podemos bloquear el programa passwd para que solo un grupo de usuarios o un
usuario puedan ejecutarlo (cambiar su passwd) :
Por ejemplo:
chgrp grupo /bin/passwd
Cambia el grupo propietario del programa passwd.
chmod 4750 /bin/passwd
Cambia los permisos para que solo pueda ejecutar el propietario y el grupo
propietario del programa /bin/passwd.
NOTA: Puedes ver el contenido del fichero /etc/passwd simplemente tecleando:
cat /etc/passwd
Si estas en una red que usa un servidor NIS las contraseñas de toda la red se
guardan en este servidor, para ver el contenido del fichero passwd:
ypcat passwd