/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. Le cinquième champ donne son ``vrai'' nom./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.
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.
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 :
/etc/passwd
, du genre
durand:!:1234:100:Marcel Durand:/home/durand:/bin/bash
Le point d'exclamation indique que le compte est bloqué (provisoirement)./etc/skel
, et lui en concéder la propriété
# cp -a /etc/skel /home/durand
# chown -R durand.users /home/durand
# passwd durand
Enter new UNIX password:
Retype new UNIX password:
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.
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).
# groupadd stagiaires
# groupadd stagiaires
# mkdir /home/stagiaires2002
# useradd -D -g stagiaires -b /home/stagiaires2002 -s /bin/bash
# useradd -c "Paul MacC." -m paul
# useradd -c "John L." -m john
...
Note : l'option -m
demande la création effective du répertoire
d'accueil de l'utilisateur à partir des fichiers modèles.
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
.
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.