Aquí es donde la contraseña de raíz hash se almacena típicamente en diferentes distribuciones de Linux:
* `/etc/shadow` :Este archivo es la ubicación principal para almacenar hash de la contraseña de la cuenta de usuario, incluida la contraseña del usuario root. Crucialmente, solo el usuario root tiene acceso de lectura a este archivo . Esta es una característica de seguridad crítica.
* El archivo `/etc/shadow` contiene entradas en el siguiente formato:
`` `` ``
nombre de usuario:contraseña_hash:last_changed:min_days:max_days:warn_days:inactive_days:expire_date:flags
`` `` ``
* `Nombre de usuario`:el nombre de usuario (por ejemplo,` root`).
* `Password_hash`:la contraseña hash. Esta es una larga cadena de caracteres que representan el resultado de una función hash criptográfica aplicada a la contraseña junto con una sal.
* `last_changed`:el número de días desde la época (1 de enero de 1970) cuando la contraseña cambió por última vez.
* `Min_days`:el número mínimo de días que deben pasar antes de que la contraseña se pueda cambiar nuevamente.
* `max_days`:el número máximo de días que la contraseña es válida antes de que se debe cambiar.
* `Warn_days`:el número de días antes de que expire la contraseña que se advertirá al usuario.
* `inactive_days`:el número de días después de que expire la contraseña que la cuenta se deshabilitará.
* `expire_date`:la fecha en que expira la cuenta.
* `Flags`:reservado para uso futuro.
* `/etc/passwd` :Este archivo contiene información básica de la cuenta de usuario, pero ya no almacena el hash de contraseña directamente En los sistemas modernos. Solía hacerlo, pero este era un gran riesgo de seguridad ya que `/etc/passwd` a menudo es legible en el mundo. Ahora, normalmente verá una "X" en el campo de contraseña, lo que indica que la contraseña se almacena en `/etc/shadow`.
* Ejemplo:`raíz:x:0:0:root:/root:/bin/bash`
Conceptos clave:
* Hashing: Una función criptográfica unidireccional que convierte los datos en una cadena de caracteres de tamaño fijo (el hash). Está diseñado para ser extremadamente difícil de revertir.
* sal: Una cadena aleatoria se agregó a la contraseña antes del hash. Esto hace que sea mucho más difícil para los atacantes usar "tablas de arco iris" precomputadas para descifrar las contraseñas, incluso si obtienen el archivo `/etc/shadow`. Cada contraseña tiene una sal única.
* `/etc/shadow` permisos: Es crucial que `/etc/shadow` sea legible * solo * por el usuario raíz. Cualquier otro usuario que pueda leer este archivo representaría una vulnerabilidad de seguridad significativa, ya que podría intentar descifrar los hash de contraseña.
* Complejidad de contraseña: La fuerza de un hash de contraseña también depende de la complejidad de la contraseña en sí. Las contraseñas más largas con una combinación de mayúsculas, minúsculas, números y símbolos son mucho más difíciles de descifrar.
En resumen: La contraseña de root en sí no se almacena directamente en ningún lado. En cambio, una representación salada y hash de la misma se almacena de forma segura en el archivo `/etc/shadow`, accesible solo para el usuario raíz. Este es un mecanismo de seguridad crítico para proteger el sistema.