Next: La commande groups et
Up: Comptes d'utilisateurs et droits.
Previous: Le fichier des mots
Table des matières
12.3 Le fichier /etc/shadow.
Le problème des fichiers passwd traditionnels
est qu'ils sont lisibles par tous (world readable) [n'importe
qui sur le système peut lire le fichier passwd].Ceci permet aux programmes d'y extraire des informations
au sujet d'un utilisateur, telles que son nom complet. Ceci veut donc
dire que tout le monde peut lire le mot de passe crypté dans le second
champ. Aussi, tout le monde peut-il copier le champ ``mot de passe''
d'un utilisateur et essayer des milliards de mots de passe jusqu'à
ce qu'un des mots cryptés ainsi composé corresponde au mot de passe
crypté de l'utilisateur. Si vous avez une centaine d'utilisateurs
sur votre système, il se peut que plusieurs d'entre eux choisissent
un mot du dictionnaire comme mot de passe. Les attaques par le dictionnaire
consiste à tester les 80.000 mots d'anglais courant pour trouver une
correspondance. Si vous pensez qu'il est astucieux d'ajouter un nombre
en préfixe à un mot du dictionnaire, sachez que les algorithmes de
craquage des mots de passe savent ça aussi [comme
c'est d'ailleurs le cas pour d'autres astuces].
C'est pour résoudre ce problème que les mots de passe cryptés ont
été inventés. Le fichier des mots de passe cryptés est exclusivement
utilisé lors de l'étape d'authentification [en
vérifiant que l'utilisateur est le véritable détenteur du compte].
Il n'est pas lisible par tous et aucun utilisateur normal n'a le droit
de voir le champ ``mot de passe chiffré''. Il n'y a pas d'information
dans ce fichier nécessaire aux programmes. Les champs du fichier/etc/shadow sont séparés
par des doubles points comme c'est le cas du fichier /etc/passwd:
jack:Q,Jpl.or6u2e7:10795:0:99999:7:-1:-1:134537220
|
- jack
- est le nom d'utilisateur
- Q,Jpl.or6u2e7
- est le mot de passe chiffré résultant d'une transformation
irréversible d'un mot de passe à 8 caractères. Un algorithme mathématique
est appliqué au mot de passe de manière à produire un résultat unique
pour chaque mot de passe. Pour s'en convaincre, le mot de passe Loghimin
(plutôt simple) est converti en: 1Z1F.0VSRRucs
dans le fichier /etc/shadow. Le mot quasi-identique
loghimin donne une transformation totalement
différente: CavHIpD1w.cmg. Donc pour retrouver
le mot de passe à partir du mot chiffré, il faudrait essayer chaque
mot possible. Bien qu'une attaque brutale de ce type soit considérée
comme coûteuse du point de vue de la charge de calcul, elle n'est
pas impossible. Pour vérifier si un mot de passe est bon, il suffit
de lui appliquer l'algorithme permettant de vérifier la correspondance
avec le mot de passe crypté. C'est comme cela que fonctionne la commande
login. Si vous voyez un signe *
à la place du mot chiffré, cela signifie que le compte a été désactivé.
- 10795
- c'est le nombre de jours entre le 1er janvier 1970 et la date
de dernier changement du mot de passe.
- 0
- c'est le nombre de jours avant que le mot de passe ne puisse être
changé. Usuellement, la valeur est = 0. Ce champ n'est pas souvent
utilisé.
- 99999
- correspond au nombre de jours après quoi le mot de passe doit
être modifié. Ce champ est rarement utilisé. Par défaut, sa valeur
est 99999.
- 7
- nombre de jours pour lequel un utilisateur est averti que son
mot de passe expirera.
- -1
- est le nombre de jours après quoi le mot de passe expire de sorte
que le compte est désactivé. -1 est utilisé pour indiquer un nombre
infini de jours (ce qui veut dire que cette propriété du compte n'est
pas considérée).
- -1
- est le nombre de jours entre le 1er janvier 1970 et la date de
désactivation du compte.
- 134537220
- est un indicateur réservé à un usage ultérieur.
Next: La commande groups et
Up: Comptes d'utilisateurs et droits.
Previous: Le fichier des mots
Table des matières
1-01-2006