GNU/Linux >> Tutoriels Linux >  >> Linux

Comprendre le fichier /etc/shadow

Il existe plusieurs schémas d'authentification différents qui peuvent être utilisés sur les systèmes Linux. Le schéma standard le plus couramment utilisé consiste à effectuer une authentification par rapport au /etc/passwd et /etc/shadow fichiers.

/etc/shadow est un fichier texte qui contient des informations sur les mots de passe des utilisateurs du système. Il appartient à l'utilisateur root et au groupe shadow et dispose de 640 autorisations.

/etc/shadow Format #

Le /etc/shadow Le fichier contient une entrée par ligne, chacune représentant un compte utilisateur. Vous pouvez afficher le contenu du fichier, avec un éditeur de texte ou une commande telle que cat :

sudo cat /etc/shadow

Généralement, la première ligne décrit l'utilisateur racine, suivi du système et des comptes d'utilisateur normaux. Les nouvelles entrées sont ajoutées à la fin du fichier.

Chaque ligne du /etc/shadow le fichier contient neuf champs séparés par des virgules :

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. Nom d'utilisateur. La chaîne que vous tapez lorsque vous vous connectez au système. Le compte d'utilisateur qui existe sur le système.

  2. Mot de passe crypté. Le mot de passe utilise le $type$salt$hashed format. $type est l'algorithme de hachage cryptographique de la méthode et peut prendre les valeurs suivantes :

    • $1$ – MD5
    • $2a$ – Poisson-globe
    • $2y$ – Eksblowfish
    • $5$ – SHA-256
    • $6$ – SHA-512

    Si le champ mot de passe contient un astérisque (* ) ou point d'exclamation (! ), l'utilisateur ne pourra pas se connecter au système à l'aide de l'authentification par mot de passe. D'autres méthodes de connexion telles que l'authentification par clé ou le passage à l'utilisateur sont toujours autorisées.

    Dans les anciens systèmes Linux, le mot de passe crypté de l'utilisateur était stocké dans /etc/passwd fichier.

  3. Dernier changement de mot de passe. Il s'agit de la date à laquelle le mot de passe a été modifié pour la dernière fois. Le nombre de jours est compté depuis le 1er janvier 1970 (date d'époque).

  4. Âge minimum du mot de passe. Le nombre de jours qui doivent s'écouler avant que le mot de passe de l'utilisateur puisse être modifié. En règle générale, il est défini sur zéro, ce qui signifie qu'il n'y a pas d'âge minimum pour le mot de passe.

  5. Âge maximal du mot de passe. Le nombre de jours après le mot de passe de l'utilisateur doit être changé. Par défaut, ce nombre est défini sur 99999 .

  6. Période d'avertissement. Le nombre de jours avant l'expiration du mot de passe pendant lesquels l'utilisateur est averti que le mot de passe doit être changé.

  7. Période d'inactivité. Le nombre de jours après l'expiration du mot de passe utilisateur avant que le compte utilisateur ne soit désactivé. Généralement, ce champ est vide.

  8. Date d'expiration. La date à laquelle le compte a été désactivé. Il est représenté comme une date d'époque.

  9. Inutilisé. Ce champ est ignoré. Il est réservé pour une utilisation future.

Le /etc/shadow le fichier ne doit pas être modifié à la main à moins que vous ne sachiez ce que vous faites. Utilisez toujours une commande conçue à cet effet. Par exemple, pour changer un mot de passe utilisateur, utilisez le passwd commande, et pour changer les informations de vieillissement du mot de passe, utilisez la commande chage commande.

Exemple d'entrée #

Prenons l'exemple suivant :

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

L'entrée ci-dessus contient des informations sur le mot de passe "linuxize" de l'utilisateur :

  • Le mot de passe est crypté avec SHA-512 (le mot de passe est tronqué pour une meilleure lisibilité).
  • Le mot de passe a été modifié pour la dernière fois le 23 avril 2019 - 18009 .
  • Il n'y a pas d'âge minimum pour le mot de passe.
  • Le mot de passe doit être modifié au moins tous les 120 jours.
  • L'utilisateur recevra un message d'avertissement sept jours avant la date d'expiration du mot de passe.
  • Si l'utilisateur ne tente pas de se connecter au système 14 jours après l'expiration du mot de passe, le compte sera désactivé.
  • Il n'y a pas de date d'expiration du compte.

Conclusion #

Le /etc/shadow Le fichier conserve des enregistrements sur les mots de passe des utilisateurs chiffrés, ainsi que d'autres informations relatives aux mots de passe.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Une introduction au fichier Linux /etc/fstab

  2. Comprendre le fichier de configuration /etc/profile sous Linux

  3. Extraire les dates de /etc/shadow

  4. Différence entre ! contre !! vs * dans /etc/shadow

  5. Quelle est la limite de taille de /etc/hosts ?

Comprendre le fichier /etc/passwd

Comprendre le fichier /etc/group

Comprendre le fichier /etc/fstab sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

Générer manuellement un mot de passe pour /etc/shadow

BASH :vérifiez dans /etc/shadow si le mot de passe de l'utilisateur est verrouillé