Page suivante Page précédente Table des matières

4. Gérer les utilisateurs

4.1 Les utilisateurs sont dans /etc/passwd

Le fichier /etc/passwd contient la liste des comptes déclarés localement sur une machine. En voici quelques lignes

root:x:0:0:Super Utilisateur:/root:/bin/bash
dupont:x:2000:100:Marcel Dupont:/home/dupont:/bin/bash
sdupont:x:0:0:Super Utilisateur Dupont:/root:/bin/bash

La seconde ligne décrit le compte d'utilisateur dupont, qui a le numéro d'utilisateur 2000, qui appartient au groupe 100, qui a son répertoire d'accueil dans /home/dupont et dont le shell par défaut est /bin/bash.

La valeur x dans le second champ indique que son mot de passe crypé est stocké dans le fichier /etc/shadow

Autrefois le fichier /etc/passwd contenait le mot de passe crypté de tous les utilisateurs. Pour améliorer la sécurité, les mots de passe cryptés ont été déplacés dans /etc/shadow qui n'est pas lisible par tout le monde, et qui contient également des informations administratives sur la date de validité du mot de passe.
. Le cinquième champ donne son ``vrai'' nom.

On remarque que plusieurs comptes peuvent se rapporter au même numéro d'utilisateur. C'est une pratique courante quand plusieurs personnes doivent administrer une même machine : chaque administrateur déclaré peut se connecter avec son propre mot de passe, et le changer sans avoir à prévenir ses collègues.

Les groupes d'utilisateurs sont répertoriés dans /etc/group, dont voici un extrait:

root:x:0:
...
games:x:60:
users:x:100:
Il y a aussi un fichier /etc/gshadow. Voir le manuel pour les détails.

4.2 Enregistrer des utilisateurs à la main

Nous allons d'abord voir comment enregistrer des utilisateurs ``à la main'' pour comprendre ce qui se passe, puis deux commandes qui permettent de le faire de façon plus confortable.

On peut procéder ainsi :

4.3 Enregistrement rapide par adduser

La commande interactive adduser permet d'enregistrer rapidement un nouvel utilisateur. Selon la version utilisée, l'utilisateur est enregistré systématiquemant dans le groupe commun users, ou dans son propre groupe créé pour l'occasion (c'est le cas ci-dessous). L'enregistrement est rapide, il suffit de donner le nom d'utilisateur et deux fois le mot de passe, les autres réponses peuvent rester en blanc.

# adduser
Enter a username to add: martin
Adding user martin...
Adding new group martin (1001).
Adding new user martin (1001) with group martin.
Creating home directory /home/martin.
Copying files from /etc/skel
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for martin
Enter the new value, or press return for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
Is the information correct? [y/n] y

Cette commande convient bien pour des machines qui n'ont que quelques utilisateurs, regroupés dans un seul répertoire.

4.4 useradd, enregistrement par ligne de commande

Lorsqu'il y a beaucoup d'utilisateurs à enregistrer, on préfèrera sans doute useradd.

Soit par exemple à ajouter dix utilisateurs dans le groupe (à créer) stagiaires qui sera logé dans le sous-répertoire /home/stagiaires2002 (à créer également).

Les comptes sont créés, mais restent bloqués tant qu'un mot de passe n'est pas défini.

Note : l'option -m demande la création effective du répertoire d'accueil de l'utilisateur à partir des fichiers modèles.

4.5 Enregistrer un administrateur supplémentaire

On peut procéder comme suit:

# useradd -u 0 -o  -g 0  -c "Super Durand" -d /root sdurant

Les options -u 0 et -g 0 précisent le numéro d'utilisateur et le groupe. On indique -o parce qu'il y a déjà un utilisateur avec le même numéro. Le répertoire d'accueil pour sdurant sera celui de root.

4.6 Changer les mots de passe

L'attribution de mots de passe par la commande passwd est envisageable pour une ouverture de quelques comptes, mais pas pour des besoins plus massifs, à cause du travail pénible de frappe des mots de passe (en double !)

Pour attribuer/changer des mots de passe en bloc, on commence par constituer un fichier mots-de-passe de paires ``nom:mot de passe''

john:gui23tare
paul:bas67se
...
que l'on fait prendre en compte par:
# chpasswd < mots-de-passe
Ce fichier, une fois imprimé, peut être découpé en bandelettes de papier qui seront remises en mains propres aux titulaires respectifs des comptes.


Page suivante Page précédente Table des matières