| Guide de l'Administration Simplifiée pour Linux (GASL) | ||
|---|---|---|
| Prev | Chapter 6. Questions générales d'administration du système | Next |
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:
Nom d'utilisateur, jusqu'à 8 caractères. Case-sensitive, habituellement tout en minuscules
Un “x” dans le champ mot de passe. Les mots de passe sont stockés dans le fichier ``/etc/shadow''.
Numéro d'identification de l'utilisateur. Il est attribué par le script ``adduser'. Unix utilise ce champ, plus le champ suivant du groupe, pour identifier quels fichiers appartiennent à l'utilisateur.
Numéro d'identification du groupe. Red Hat utilise le numéro de groupe d'une manière assez unique pour des raisons de sécurité des fichiers renforcée. Habituellement, le numéro de groupe sera le même que le numéro d'utilisateur.
Nom complet de l'utilisateur. Je ne suis pas sûr de la longueur maximum de ce champ mais essayer de la garder d'une taille raisonnable (mois de 30 caractères).
Répertoire personnel de l'utilisateur. Habituellement, /home/username (eg. /home/smithj). Tous les fichiers personnels de l'utilisateur, ses pages web, ses mails à envoyer, etc,... seront stockés là..
User's “Compte shell”. Souvent fixé à ``/bin/bash'' pour permettre l'accès au shell bash (mon shell personnel favori).
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: 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:
Nom d'utilisateur, jusqu'à 8 caractères. Case-sensitive, habituellement uniquement des minuscules. Exactement la même entrée que dans le fichier /etc/passwd.
Mot de passe, 13 caractères codés. Une entrée nulle (eg. ::) indique qu'un mot de passe n'est pas demandé pour entrer dans le système (une mauvaise idée en général), et une entrée ``*'' (eg. :*:) indique que le compte a été désactivé.
Le nombre de jours (depuis le 1er Janvier 1970) depuis le dernier changement du mot de passe.
Le nombre de jours avant que le mot de passe ne puisse être changé (un 0 indique qu'il peut être changé à n'importe quel moment).
Le nombre de jours après lesquels le mot de passe doit être changé (99999 indique que l'utilisateur peut garder son mot de passe inchangé pendant beaucoup, beaucoup d'années)
Le nombre de jours pour avertir l'utilisateur qu'un mot de passe ne va plus être valable (7 pour une semaine entière)
Le nombre de jours avant de désactiver le compte après expiration du mot de passe
Le nombre de jours depuis le 1er Janvier 1970 pendant lesquels un compte a été désactivé
Un champ réservé pour une utilisation future possible