Hay varios esquemas de autenticación diferentes que se pueden usar en los sistemas Linux. El esquema estándar y más utilizado es realizar la autenticación contra los archivos /etc/passwd y ./etc/shadow

/etc/shadowes un archivo de texto que contiene información sobre las contraseñas de los usuarios del sistema. Es propiedad del usuario root y del grupo shadow, y tiene 640 permisos .

/etc/shadowFormato

El /etc/shadowarchivo contiene una entrada por línea, cada una de las cuales representa una cuenta de usuario. Puede ver el contenido del archivo, con un editor de texto o un comando como cat :

sudo cat /etc/shadow

Por lo general, la primera línea describe al usuario raíz, seguido por el sistema y las cuentas de usuario normales. Las nuevas entradas se añaden al final del archivo.

Cada línea del /etc/shadowarchivo contiene nueve campos separados por comas:

mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
  1. Nombre de usuario. La cadena que escribe cuando inicia sesión en el sistema. La cuenta de usuario que existe en el sistema.

  2. Contraseña cifrada. La contraseña está usando el $type$salt$hashedformato. $typees el algoritmo hash criptográfico del método y puede tener los siguientes valores:

    • $1$– MD5
    • $2a$– pez globo
    • $2y$– Eksblowfish
    • $5$– SHA-256
    • $6$– SHA-512

    Si el campo de contraseña contiene un asterisco ( *) o un signo de exclamación ( !), el usuario no podrá iniciar sesión en el sistema utilizando la autenticación de contraseña. Todavía se permiten otros métodos de inicio de sesión, como la autenticación basada en claves o el cambio al usuario .

    En los sistemas Linux más antiguos, la contraseña cifrada del usuario se almacenaba en el /etc/passwdarchivo.

  3. Último cambio de contraseña. Esta es la fecha en que se cambió la contraseña por última vez. El número de días se cuenta desde el 1 de enero de 1970 (fecha de época).

  4. Edad mínima de la contraseña. El número de días que deben pasar antes de que se pueda cambiar la contraseña del usuario. Por lo general, se establece en cero, lo que significa que no hay una antigüedad mínima para la contraseña.

  5. Antigüedad máxima de la contraseña. El número de días después de que se debe cambiar la contraseña del usuario. De forma predeterminada, este número se establece en 99999.

  6. Período de advertencia. El número de días antes de que caduque la contraseña durante los cuales se advierte al usuario que debe cambiar la contraseña.

  7. Período de inactividad. El número de días después de que caduque la contraseña de usuario antes de que se deshabilite la cuenta de usuario. Por lo general, este campo está vacío.

  8. Fecha de caducidad. La fecha en que se inhabilitó la cuenta. Se representa como una fecha de época.

  9. No usado. Este campo se ignora. Está reservado para uso futuro.

El /etc/shadowarchivo no debe editarse a mano a menos que sepa lo que está haciendo. Utilice siempre un comando diseñado para tal fin. Por ejemplo, para cambiar la contraseña de un usuario, use el passwd comando y para cambiar la información de antigüedad de la contraseña, use el chagecomando.

Entrada de ejemplo

Echemos un vistazo al siguiente ejemplo:

heymarkething:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

La entrada anterior contiene información sobre la contraseña del usuario "heymarkething":

  • La contraseña está encriptada con SHA-512 (la contraseña está truncada para una mejor legibilidad).
  • La contraseña se cambió por última vez el 23 de abril de 2019 - 18009.
  • No hay edad mínima para la contraseña.
  • La contraseña debe cambiarse al menos cada 120 días.
  • El usuario recibirá un mensaje de advertencia siete días antes de la fecha de vencimiento de la contraseña.
  • Si el usuario no intenta iniciar sesión en el sistema 14 días después de que caduque la contraseña, la cuenta se desactivará.
  • No hay fecha de vencimiento de la cuenta.

Conclusión

El /etc/shadowarchivo mantiene registros sobre las contraseñas de los usuarios encriptados, así como otra información relacionada con las contraseñas.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.