1. NOM

passwd - Fichier des mots de passe

2. DESCRIPTION

Le fichier /etc/passwd est un fichier de texte qui décrit les comptes des utilisateurs sur le système. Le fichier des mots de passe doit permettre la lecture par tout le monde (de nombreux utilitaires comme ls(1) l'utilisent pour convertir les UID en noms d'utilisateur). Par contre, seul le superutilisateur doit disposer de droits d'écriture sur le fichier.

Au bon vieux temps, aucun problème de sécurité ne se posait avec ce droit de lecture général. Chacun pouvait consulter les mots de passe cryptés, mais le matériel était trop lent pour pouvoir décrypter un mot de passe bien choisi. De plus, le principe de base d'UNIX reposait sur une communauté soudée d'utilisateurs sans intentions néfastes. Actuellement, il est de plus en plus recommandé d'utiliser des systèmes de masquage des mots de passe, comme shadow avec lequel le fichier /etc/passwd contient un caractère « x » à la place des mots de passe, et où ces derniers sont stockés sous forme cryptée dans /etc/shadow, qui n'est lisible que par le superutilisateur.

Si le mot de passe chiffré est une chaîne vide, que ce soit dans /etc/passwd ou dans /etc/shadow, la connexion est autorisée sans même demander de mot de passe. Notez que cette fonctionnalité peut être intentionnellement désactivée (ou configurée autrement) par les applications, par exemple en utilisant les arguments « nullok » ou « nonull » de pam_unix.so.

Si le mot de passe chiffré dans /etc/passwd est « *NP* » (sans les guillemets), le mot de passe masqué devrait être obtenu à partir d'un serveur NIS+.

Que le masquage des mots de passe soit utilisé ou non, de nombreux administrateurs systèmes utilisent un astérisque (« * ») dans le champ « mot de passe » pour s'assurer que l'utilisateur en question ne puisse pas se connecter (consultez la section NOTES plus bas).

Si vous devez créer un nouvel utilisateur, placez un astérisque (« * ») dans le champ « mot de passe », puis utilisez la commande passwd(1) pour le mettre à jour.

Chaque ligne du fichier décrit un utilisateur unique, et contient sept champs séparés par le caractère « : » :

nom:mot_de_passe:UID:GID:GECOS:répertoire:shell

Les champs sont les suivants :

  • nom
                Le nom que l'utilisateur utilisera pour se connecter, il ne devrait normalement pas contenir de majuscules
  • mot_de_passe
        Contient la représentation encryptée du mot de passe, une astérique ou la lettre « x ». (Consultez pwconv(8) pour une explication sur « x ».)
  • UID
        Le compte superutilisateur (root) a 0 comme identifiant d'utilisateur.
  • GID
        Il s'agit de l'ID numérique du groupe principal de l'utilisateur (les groupes supplémentaires de l'utilisateur sont définis dans le fichier de groupes, consultez group(5)).
  • GECOS
        Ce champ (parfois aussi appelé le « champ commentaire ») est optionnel et n'a qu'un rôle informatif. Il contient généralement le nom complet de l'utilisateur. Certains programmes (comme par exemple finger(1)) l'utilisent pour afficher leurs informations.

GECOS signifie « General Electric Comprehensive Operating System », qui fut renommé GCOS quand la division « gros systèmes » de General Electric a été vendue à Honeywell. Dennis Ritchie raconte : « Il arrivait que l'on envoie des sorties d'impression ou des résultats de traitements différés vers une machine GCOS. Le champ GCOS du fichier password était un endroit classique pour glisser des informations dans la carte $IDENT. Pas très élégant... »

  • répertoire
        Il s'agit du répertoire de l'utilisateur, celui dans lequel l'utilisateur se trouve après s'être connecté. La valeur de ce champ est utilisée pour définir la variable d'environnement $HOME.
  • shell
        Il s'agit du programme à exécuter après la phase de connexion (par défaut /bin/sh). Si ce fichier n'existe pas, l'utilisateur ne pourra pas se connecter avec login(1). La valeur de ce champ est utilisée pour définir la variable d'environnement SHELL.

3. FICHIERS

/etc/passwd

4. NOTES

Si vous désirez créer des groupes d'utilisateurs, il doit y avoir une entrée correspondante dans le fichier /etc/group.

Si le mot de passe crypté est rempli avec un astérisque (« * »), l'utilisateur ne pourra pas se connecter avec login(1), mais pourra toujours le faire avec rlogin(1), lancer des processus en utilisant rsh(1), cron(8), at(1), ou des filtres de courrier, etc. La modification du champ « shell » a généralement les mêmes effets, et autorise toujours l'utilisation de su(1).

5. VOIR AUSSI

login(1), passwd(1), su(1), getpwent(3), getpwnam(3), crypt(3), group(5), shadow(5)

6. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

7. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2008).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».