Versión corta:
- / etc / shadow contents le dirá qué formato usa cada usuario, pero
Necesita root para verlos - @MikeScott lo elimina.
- Los archivos /etc/pam.d/* le indicarán qué formato de un sistema codifica las contraseñas nuevas.
con, y debe ser accesible para los usuarios regulares, que puede ser todo lo que tiene.
Versión larga:
La mayoría de los sistemas Unix y Linux modernos utilizan PAM, los módulos de autenticación conectables, para manejar la autenticación. Como resultado, el algoritmo de hash utilizado para cifrar las contraseñas generalmente se define en uno de los archivos /etc/pam.d/*. Mirando a Ubuntu 14, veo que está en el archivo /etc/pam.d/common-password:
# Explanation of pam_unix options:
#
# The "sha512" option enables salted SHA512 passwords. Without this option,
# the default is Unix crypt. Prior releases used the option "md5".
#
password [success=1 default=ignore] pam_unix.so obscure sha512
Entonces, en este sistema, las entradas en el archivo / etc / shadow deben tener contraseñas que comiencen en $ 6 $. Si veo a / etc / shadow como root, puedo ver que, de hecho, todas (ambas) las contraseñas en este sistema son sha512:
# awk -F: '$2 ~ /^\$/ {print $2}' /etc/shadow | cut -c-10
$6$6I2Lrdb
$6$tvKWuGb
#
Al ser tan flexible, Pam encontrará que está en un archivo diferente en cada tipo de sistema que vea. Bajo RedHat, parece ser /etc/pam.d/system-auth, por ejemplo.
Esto le indica qué hash de contraseña se creará cuando se establezca una nueva contraseña en este sistema. Los hash de contraseña reales en uso variarán dependiendo de dónde o de dónde vinieron. Si un sistema solía usar MD5 y cambia a SHA512, entonces no cambian todos los hash; el hash antiguo permanece en uso hasta la próxima vez que un usuario cambia su contraseña. Si los hashes se copian desde otro lugar (sí, sucede) puede obtener una mezcla real de hashes de contraseña. Es por eso que el formato utilizado está codificado en la cadena de contraseña con hash ($ 6 $, $ 1 $, etc., etc.) para que el sistema sepa cómo probarlo.
Por lo tanto, la única manera de saber con certeza qué hash que estás estás usando es tener privilegios de root (y ver tu hash en / etc / shadow), o ver cuál es el valor predeterminado del sistema. es (en /etc/pam.d/*) y cambie su contraseña para que el valor predeterminado se aplique a usted.
Etcetera
Como @grawity señaló en los comentarios, los sistemas / distribuciones de Linux más antiguos aún pueden cumplir con el ENCRYPT_METHOD en el archivo /etc/login.defs . (Este archivo y la configuración todavía están allí en los nuevos sistemas; está más o menos en desuso si PAM está en uso).
Y a pesar de que Solaris usó PAM la última vez que lo verifiqué, un poco de Google sugiere que para cambiar el tipo de hash de la contraseña predeterminada, debería cambiar CRYPT_DEFAULT en /etc/security/policy.conf .
AIX se ríe ante lo que pasa con los estándares de Unix en estos días, como siempre lo han hecho. El configuración pwd_algorithm en /etc/security/login.cfg hará el truco para AIX 5.3+.
Sin embargo, en general, cualquier variante de Unix que admita más de DES proporcionará algún método para configurar el sistema por defecto. Si se encuentra con sistemas que no se mencionan aquí, modifique este Google busca y mira qué puedes encontrar.