Les mots de passe & les formats de fichier cachés sous Linux

Les systèmes Unix traditionnels garde l'information sur les comptes utilisateurs, y compris les mots de passe cryptés, dans un fichier texte appelé ``/etc/passwd''. Comme ce fichier est utilisé par beaucoup d'utilitaires, (comme ``ls'') pour afficher les permissions des fichiers, etc. pour associer le numéro d'identification de l'utilisateur (id #) avec son nom, le fichier doit pouvoir être lu par tout le monde. En conséquence de quoi, cela représente quand même un risque pour la sécurité.

Un autre méthode pour stocker l'information sur les comptes, que j'utilise toujours, est le format de mot de passe caché. Comme pour la méthode traditionnelle, cette méthode stocke l'information sur les comptes dans le fichier /etc/passwd dans un format compatible. Cependant, le mot de passe est rangé comme un simple caractère “x” (ie. en fait non stocké dans ce fichier). Un second fichier, appelé ``/etc/shadow'', contient le mot de passe codé de même que toute autre information telle que les valeurs relatives à l'expiration du compte ou du mot de passe, etc. Le fichier /etc/shadow file ne peut être lu que par le compte root et cela constitue donc un risque moins grand pour la sécurité.

Alors que d'autres distributions de Linux vous obligent à installer la Suite Mot de passe Shadow pour vous permettre d'utiliser le format caché, Red Hat reste simple. Pour passer d'un format à l'autre, tapez (en tant que root):

  /usr/sbin/pwconv	Pour convertir au format caché
  /usr/sbin/pwunconv	Pour revenir au format traditionnel

En plus des mots de passe cachés, le fichier ``/etc/passwd''contient l'information relative au compte et ressemble à cela:

smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash

Chaque champ dans une entrée de mot de passe est séparé par “:” deux points et ressemble à cela:

Peut-être ne souhaitez-vous pas fournir de compte shell pour vos utilisateurs. Vous pouvez alors créer un fichier script appelé ``/bin/sorrysh'', par exemple, qui afficherait toute sorte de messages d'erreur et ferait que l'utilisateur sorte du système et puis assigner ce script comme shell par défaut.

Note

Note: si le compte a besoin de recourir aux transferts “FTP” pour mettre à jour des pages web, etc... alors au compte shell devra être affecté ``/bin/bash'' -- dans ce cas des permissions spéciales seront nécessaires dans le répertoire personnel de l'utilisateur pour empêcher des logins shell. Voir the section called Serveur Web et administration HTTP Caching Proxy in Chapter 7 pour plus de détails sur cela.

Le fichier ``/etc/shadow'' contient les mots de passe et l'information sur l'expiration des comptes pour les utilisateurs et ressemble à cela:

smithj:Ep6mckrOLChF.:10063:0:99999:7:::

Comme avec le fichier passwd, chaque champ dans le fichier shadow est aussi séparé par deux points “:”, et on trouve les champs suivants: