[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Utilisateurs et groupes

Que sont les utilisateurs et groupes ?

Slackware Linux hérite d'une forte tradition multi-utilisateurs provenant de ses racines UNIX. Cela signifie que plusieurs personnes peuvent utiliser le système en même temps, mais également que chacune de ces personnes peut avoir des permissions distinctes. Cela permet aux utilisateurs ne pas laisser d'autres modifier leurs fichiers, ou aux administrateurs systèmes de définir explicitement ce qui peut être utilisé ou non sur le système. Par ailleurs, les utilisateurs ne sont pas forcément des personnes en tant que telles. De fait, Slackware inclue plusieurs dizaines de comptes utilisateurs et groupes pré-définis qui ne sont habituellement pas utilisés par des utilisateurs standards. Ces comptes permettent à l'administrateur système de cloisonner le système à des fins de sécurité. Nous verrons comment cela peut être mis en place dans le chapitre suivant sur les permissions des systèmes de fichiers.

Gestion des utilisateurs et des groupes

Ajout d'utilisateurs et de groupes

La manière la plus simple d'ajouter de nouveaux utilisateurs dans Slackware se fait via l'excellent script shell adduser. adduser vous demandera d'entrer les informations sur l'utilisateur que vous souhaitez créer, et vous guidera tout au long du processus. Il permet également de définir le mot de passe pour celui-ci.

darkstar:~# adduser

Login name for new user []: david

User ID ('UID') [ defaults to next available ]: 

Initial group [ users ]: 
Additional UNIX groups:

Users can belong to additional UNIX groups on the system.
For local users using graphical desktop login managers such
as XDM/KDM, users may need to be members of additional groups
to access the full functionality of removable media devices.

* Security implications *
Please be aware that by adding users to additional groups may
potentially give access to the removable media of other users.

If you are creating a new user for remote shell access only,
users do not need to belong to any additional groups as standard,
so you may press ENTER at the next prompt.

Press ENTER to continue without adding any additional groups
Or press the UP arrow to add/select/edit additional groups
:  audio cdrom floppy plugdev video

Home directory [ /home/david ] 

Shell [ /bin/bash ] 

Expiry date (YYYY-MM-DD) []: 

New account will be created as follows:

---------------------------------------
Login name.......:  david
UID..............:  [ Next available ]
Initial group....:  users
Additional groups:  audio,cdrom,floppy,plugdev,video
Home directory...:  /home/david
Shell............:  /bin/bash
Expiry date......:  [ Never ]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.

Creating new account...

Changing the user information for david
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Changing password for david
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password: 
Re-enter new password: 
Password changed.

Account setup complete.

L'ajout de groupes optionnels mérite une petite explication. Chaque utilisateur dans Slackware a un groupe unique dont il est toujours membre. Par défaut il s'agit du groupe “users”. Cependant, les utilisateurs peuvent appartenir à plus d'un groupe à la fois et cela leur attribuera toutes les permissions des groupes auxquels ils appartiennent. Un utilisateur moyen pour un ordinateur de bureau aurez besoin d'être membre de plusieurs groupes afin de pouvoir écouter de la musique ou accéder à des périphériques amovibles comme des CD-ROM ou des clés USB. Vous pouvez simplement appuyer sur la touche fléchée haut pour cette question et la liste des groupes par défaut pour une utilisation de bureau apparaîtra comme par magie. Bien sûr, vous pouvez tout à fait ajouter ou supprimer des groupes de cette liste.

Maintenant que nous avons vu comment utiliser le programme adduser de manière interactive, voyons quels outils non-interactifs plus puissants pourraient vous être utiles. Le premier est useradd(8). useradd est un peu moins convivial, mais plus rapide pour créer des utilisateurs par lots. Ceci le rend idéal pour une utilisation dans des scripts shell. En fait, adduser n'est qu'un script shell qui utilise useradd pour la le gros du travail. useradd a de nombreuses options et nous ne pourrons pas toutes les expliquer ici, donc n'hésitez pas à consulter la page de manuel pour de plus amples détails. Maintenant, créons un nouvel utilisateur.

darkstar:~# useradd -d /data/home/alan -s /bin/bash -g users -G audio,cdrom,floppy,plugdev,video alan

Nous venons d'ajouter un utilisateur “alan”. Le répertoire personnel à été précisé comme étant /data/home/alan et mon shell par défaut est défini comme bash . De plus, j'ai précisé que mon groupe par défaut est “users” et je me suis ajouté à plusieurs groupes utiles pour une utilisation de bureau. Vous remarquerez qu'useradd ne pose aucune question au contraire d'adduser. À moins que nous ne souhaitiez garder les valeurs par défaut, vous devez dire à useradd ce qu'il doit faire.

Maintenant que vous savez ajouter des utilisateurs, nous allons voir comment ajouter des groupes. Comme vous avez pu le deviner, la commande correspondante est groupadd(8). groupadd fonctionne de manière similaire à useradd mais avec beaucoup moins d'options. La commande suivante ajoutera le groupe “slackers” au système.

darkstar:~# groupadd slackers

Supprimer des utilisateurs et des groupes est également très simple. Vous n'avez qu'à exécuter les commandes userdel(8) et groupdel(8). Par défaut, userdel laissera le répertoire personnel de l'utilisateur (home) en place sur le système. Vous pouvez le supprimer avec l'option -r.

Autres utilitaires de gestion des utilisateurs et des groupes

Plusieurs autres outils existent pour gérer les utilisateurs et les groupes. Le plus important est probablement passwd(1). Cette commande permet de changer le mot de passe d'un compte utilisateur. Les utilisateurs standards ne pourront changer que leur propre mot de passe, mais root peut définir le mot de passe de n'importe qui. De même, root peut verrouiller un compte utilisateur avec l'option -l. Cela n'écrase pas le compte mais change en fait le mot de passe chiffré en une chaîne qui ne peut pas être reconnue.

Le moyen le plus simple de changer les informations d'un utilisateur est l'utilitaire usermod qui est capable de changer n'importe quel attribut, depuis l'appartenance à un groupe jusqu'au répertoire personnel. Une liste complète des fonctionnalités de usermod ne sera pas donnée ici, reportez vous à la page de manuel. usermod est peut-être le meilleur outil pour changer les groupes dont est membre un utilisateur. Les options -s et -G permettent de faire cela.

darkstar:~# usermod -a -G wheel alan
darkstar:~# usermod -G wheel alan

Il est important de noter la différence entre les deux commandes ci-dessus. La première commande ajoute l'utilisateur “alan” au groupe “wheel” sans modifier les autres groupes auquel “alan” appartient. La deuxième commande rend aussi “alan” membre du groupe “wheel” mais supprime aussi son appartenance de tous les autres groupes, quelque chose que vous n'aurez pas souvent envie de faire !

Un autre outil utile est chsh(1) qui change le shell par défaut d'un utilisateur. Comme pour passwd, les utilisateurs normaux ne peuvent changer que leur propre shell, mais root peut changer celui de n'importe qui.

Le dernier outil que nous présenterons est chfn(1). Il est utilisé pour entrer les informations d’identification d'un utilisateur tel que son numéro de téléphone ou son nom réel. Ces informations sont conservées dans le fichier passwd(5) et peuvent être consultée avec finger(1).

Gérer manuellement les utilisateurs et les groupes

Comme la plupart des choses sous Slackware Linux, utilisateurs et groupes sont enregistrés dans des fichiers texte. Cela signifie que vous pouvez modifier toutes les informations d'un utilisateur, voire même créer un nouvel utilisateur ou groupe simplement en éditant ces fichiers et quelques autres tâches comme créer le répertoire personnel d'un utilisateur. Bien sûr, après avoir vu comment cela doit être fait, vous apprécierez la simplicité des outils fournis pour cela.

Notre premier arrêt est le fichier /etc/passwd. Vous y trouverez toutes les informations concernant un utilisateur, excepté (curieusement) son mot de passe. La raison pour cela est très simple : /etc/passwd doit être accessible à tous les utilisateurs du système, il n'est donc pas souhaitable que les mots de passe soient conservés ici, quand bien même seraient-ils chiffrés. Jetons un rapide coup d’œil à mon entrée dans ce fichier.

alan:x:1000:100:,,,:/home/alan:/bin/bash

Chaque ligne contient un nombre de champs séparés par le caractère deux points. Ces champs sont, de la gauche vers la droite : l'identifiant, le mot de passe, UID, GID, un champ de commentaires, le répertoire personnel et le shell. Vous remarquerez que le champ du mot de passe ne contient que x pour toutes les entrées. Cela est dû au fait que Slackware utilise des shadow passwords (mots de passe fantômes), et en fait la valeur chiffrée du mot de passe est conservée dans /etc/shadow. Regardons cela.

alan:$1$HlR?M3fkL@oeJmsdLfhsLFM*4dflPh8:14197:0:99999:7:::

Le fichier shadow contient plus que le simple mot de passe chiffré comme vous pouvez le remarquer. Les champs présents sont, toujours de la gauche vers la droite : l'identifiant, le mot de passe chiffré, le jour où le mot de passe a été changé pour la dernière fois, le nombre de jours avant que le mot de passe ne doive être changé, le décompte de jours avant que le mot de passe n'expire, le nombre de jours avant que le compte ne soit désactivé après expiration, quand le compte sera désactivé et un champ réservé.

Vous remarquerez que plusieurs décomptes des champs “jours” comportent souvent de très grands nombres. La raison pour cela est que Slackware décompte le temps depuis “Epoch” (l'Origine) qui est le 1er janvier 1970, pour des raisons historiques.

Pour créer un nouveau compte utilisateur, vous avez juste besoin d'ouvrir ces fichiers avec vipw(8). Cela ouvrira le fichier /etc/passwd avec l'éditeur définit par votre variable VISUAL ou par la variable EDITOR si VISUAL n'est pas définie. Si aucune n'est présente, vi sera utilisé par défaut. Si vous utiliser l'option -s cela ouvrira /etc/shadow à la place. Il est important d'utiliser vipw à la place d'un autre éditeur, car vipw verrouillera le fichier et empêchera d'autres programmes de le modifier juste sous vos pieds.

Cela ne s'arrête pas là : il vous restera à créer le répertoire personnel de l'utilisateur et définir son mot de passe avec passwd.

Navigation

Chapitre précédent : Gestion de l'impression

Chapitre suivant : Permissions des systèmes de fichiers

Sources

  • Publication initiale d'Alan Hicks, Chris Lumens, David Cantrell, Logan Johnson
  • Traduction initiale de escaflown
  • Traduction de Ellendhel

 fr:slackbook:users ()