8.4. Base de données des utilisateurs et des groupes
The list of users is usually stored in the /etc/passwd file, while the /etc/shadow file stores hashed passwords. Both are text files, in a relatively simple format, which can be read and modified with a text editor. Each user is listed there on a line with several fields separated with a colon (“:”).
8.4.1. Liste des utilisateurs : /etc/passwd
Voici la liste des champs du fichier /etc/passwd :
identifiant (ou login), par exemple rhertzog ;
mot de passe : il s'agit d'un mot de passe chiffré par la fonction à sens unique (crypt), qui utilise DES, MD5, SHA-256 ou SHA-512. La valeur spéciale « x » indique que le mot de passe chiffré est stocké dans /etc/shadow ;
uid : numéro unique identifiant l'utilisateur ;
gid : numéro unique du groupe principal de l'utilisateur (Debian crée par défaut un groupe spécifique à chacun) ;
GECOS : champ de renseignements qui contient habituellement le nom complet de l'utilisateur ;
répertoire de connexion, attribué à l'utilisateur pour qu'il y stocke ses fichiers personnels (la variable d'environnement $HOME y pointe habituellement) ;
programme à exécuter après la connexion. Il s'agit généralement d'un interpréteur de commandes (shell), donnant libre cours à l'utilisateur. Si l'on précise /bin/false (programme qui ne fait rien et rend la main immédiatement), l'utilisateur ne pourra pas se connecter.
8.4.2. Le fichier des mots de passe chiffrés et cachés : /etc/shadow
Le fichier /etc/shadow contient les champs suivants :
8.4.3. Modifier un compte ou mot de passe existant
The following commands allow modification of the information stored in specific fields of the user databases: passwd permits a regular user to change their password, which in turn, updates the /etc/shadow file; chfn (CHange Full Name), reserved for the super-user (root), modifies the GECOS field. chsh (CHange SHell) allows the user to change their login shell; however, available choices will be limited to those listed in /etc/shells; the administrator, on the other hand, is not bound by this restriction and can set the shell to any program of their choosing.
Enfin, la commande chage (CHange AGE) donnera à l'administrateur la possibilité de modifier les conditions d'expiration du mot de passe (l'option -l utilisateur listant la configuration actuelle). On pourra d'ailleurs forcer l'expiration d'un mot de passe grâce à la commande passwd -e utilisateur, qui obligera l'utilisateur à changer son mot de passe à la prochaine connexion.
On peut se trouver dans l'obligation de « bloquer le compte » d'un utilisateur, par mesure disciplinaire, dans le cadre d'une enquête, ou tout simplement en cas de départ prolongé ou définitif de l'utilisateur. Il s'agit en fait de l'empêcher de se connecter à nouveau, sans pour autant détruire son compte et ses fichiers. Cela s'effectue simplement par la commande passwd -l utilisateur (lock, ou bloquer). La remise en service s'effectue de même, avec l'option -u (unlock, ou débloquer).
8.4.5. Liste des groupes : /etc/group
La liste des groupes est stockée dans le fichier /etc/group, simple base de données textuelle au format comparable à celui de /etc/passwd, qui utilise les champs suivants :
identifiant (le nom du groupe) ;
gid : numéro unique identifiant le groupe ;
liste des membres : liste des identifiants d'utilisateurs membres du groupe, séparés par des virgules.
The addgroup and delgroup commands add or delete a group, respectively. The groupmod command modifies a group's information (its gid or identifier). The command gpasswd group changes the password for the group, while the gpasswd -r group command deletes it.