1. Atelier 8
Gestion des utilisateurs et des groupes
Hasna SABAH 1/5
2. Introduction :
Chaque utilisateur qui utilise le système doit être connu de celui-ci par un nom et, éventuellement,
un mot de passe.
Un utilisateur doit appartenir à un ou plusieurs groupes d'utilisateurs pour être autorisé à utiliser le
système.
Les utilisateurs et les groupes sont repérés dans le système par des numéros : uid pour le numéro
d'utilisateur (User IDentifier) et gid pour le numéro de groupe (Group IDentifier).
Le numéro est unique pour un utilisateur ou un groupe donné.
L'identification des utilisateurs s'effectue dans le fichier /etc/passwd
Celle des groupes s'effectue dans /etc/group
Les fichiers /etc/passwd et /etc/shadow
La liste de tous les utilisateurs du système est maintenue dans le fichier /etc/passwd qui contient les
information suivantes :
• le login
• le caractère x à la place mot de passe (cf /etc/shadow)
• L'identifiant de l'utilisateur UID
• L'identifiant du groupe GID
• une description de l'utilisateur
• le chemin du dossier personnel
• le shell par défaut de l'utilisateur
Exemple :
Etant donné que /etc/passwd peut être lu par tout le monde, les mots de passe cryptés sont
maintenus dans le fichier /etc/shadow que seul root peut voir.
Exemple :
Hiérarchie des comptes
root : c'est le super utilisateur , il peut faire tout, c'est le compte pour l ’administrateur du système
bin, daemon, lp, sync, news, ftp … : ce sont des comptes utilisateur utilisés par différentes
applications et démons, ne peuvent pas être utilisés pour ouvrir une session
comptes ordinaires
Hasna SABAH 2/5
3. Les fichiers /etc/group et /etc/gshadow
De la même manière, les informations relatives au groupes sont maintenues dans /etc/group qui
contient quatre informations :
• le nom du groupe
• le caractère x à la place du mot de passe du groupe (cf /etc/gshadow)
• son identifiant GID
• la liste des membres
Exemple:
Tâche 1 : exploration des fichiers d'identification
1. Combien il y a d'utilisateurs au total sur votre système ? Idem pour les groupes ?
2. Combien il y a de comptes ordinaires, ie , pouvant ouvrir une session?
3. Lister tous les utilisateurs qui n'ont pas leur dossier personnel dans /home ?
4. Lister tous les groupes auquels appartient root ?
Tâche 2 : création d'utilisateurs et groupes (effectué avec le compte root )
la création d'utilisateurs se fait avec la commande useradd dont la syntaxe est:
useradd [options] login
le tableau ci-dessous regroupe les principales options de useradd
Option Utilité
-c Ajoute un commentaire
-d Chemin du répertoire du travail
-g Spécifie un identifiant du groupe (GID)
-u Spécifie l'identifiant de l'utilisateur (UID)
-s Spécifie le shell par défaut de l'utilisateur
-e Date d'expiration du compte
lorsqu'aucune options n'est spécifiée, les options par défaut sont utilisées. (obtenue avec useradd -D)
Remarque : pour devenir root, taper su root et entrer son mot de passe
2. créer un nouveau utilisateur newts avec le commentaire « demo cours »
3. visualiser les infos le concernant en tapant finger newts
4. créer un mot de passe pour le nouveau utilisateur. Taper passwd newts
Les groupes
Chaque nouveau utilisateur est assigné à un groupe initial : son groupe privé spécial qui porte le
même nom de l'utilisateur.
Un utilisateur peut appartenir à plusieurs groupes, mais pas tous à la fois.
Pour créer un groupe, on utilise la commande suivante :
Hasna SABAH 3/5
4. groupadd nom_groupe
1. utiliser les commandes « groups newts » ou « id newts » pour voir à quel groupe
l'utilisateur newts appartient
2. créer un groupe nommé tstri
3. se connecter avec le compte 'newts ' et rejoindre le nouveau groupe. Taper 'newgrp tstri'
4. taper de nouveau groups pour vérifier la nouvelle appartenance.
Ajout / suppression d'utilisateurs d'un groupe
5. en étant root, enlever 'newts' du groupe 'tstri' en tapant : gpasswd -d newts tstri
6. vérifier
7. ré-ajouter le en tapant : gpasswd -a newts tstri
8. vérifier
Tâche 3 : Modification des propriétés des comptes utilisateurs et des groupes
Toutes les propriétés d'un compte peuvent être modifiées avec la commande usermod dont les
principales options sont :
Option modifie
-d Le répertoire de l'utilisateur
-g Le GID de l'utilisateur
-l Le login de l'utilisateur
-u L'UID de l'utilisateur
-s Le shell de l'utilisateur
De la même manière, la commande groupmod modifie les propriétés du groupe.
Option modifie
-g Le GID
-n le nom du groupe
1. Créer le répertoire /tmp/repnewts et déclarer le comme répertoire de travail de l'utilisateur
newts.
2. Démarrer un session bash en tant que newts. Quel est le répertoire par défaut ?
3. Modifier le login du compte newts. Choisir par exemple newlogin
4. taper id newlogin . Quelle remarque à propos du groupe ?
5. Changer d'utilisateur, taper su newts
6. refaire les mêmes vérifications
7. changer le mot de passe en tapant passwd
Verrouillage d'un compte
5. taper passwd -l newlogin pour verouiller ce compte. Est-ce possible de l'utiliser ?
6. Réctiver le compte avec passwd -u
Hasna SABAH 4/5
5. Tâche 4 : suppression des groupes/comptes utilisateurs
Les commandes userdel/groupdel servent à supprimer un utilisateur/ groupe
1. supprimer le compte newts
2. supprimer le groupe tstri
Exercice de synthèse
1. créer le groupe admin à gid 1234 et le compte bassir à uid 747 appartenant au groupe admin
2. créer le groupe etude à gid 2546 et l'utilisateur rachid à uid 964 appartenant au groupe
etude
3. Rajouter rachid au groupe admin
4. changer le shell de rachid en sh
5. Associer au compte bassir le mot de passe /uhjN^,7$
6. supprimer le mot de passe du compte bassir
7. supprimer le compte bassir
8. supprimer le compte rachid en éditant les fichiers adéquats
9. supprimer le groupe admin
10. supprimer le groupe etude en utilisant les fichiers adéquats
Exercice facultatif :
créer un nouveau utilisateur manuellement, en éditant les fichiers nécessaires, sans
utiliser la commande useradd
info supplémentaires nécessaires:
Les fichiers /etc/login.defs et /etc/skel/*
Le fichier /etc/login.defs contient les informations suivante:
• Le répertoire de messagerie :MAIL_DIR
• Les limites de contrôles du mot de passes : PASS_MAX_DAYS, PASS_MIN_DAYS,
PASS_MAX_LEN, PASS_WARN_AGE
• les valeurs min/max de la sélection automatique de l'UID par la commande useradd :
UID_MIN, UID_MAX
• les valeurs min/max de la sélection automatique du GID par la commande groupadd :
GID_MIN, GID_MAX
• création automatique du répertoire du travail avec useradd : CREATE_HOME
Le répertoire /etc/skel contient les fichiers par défaut qui vont être copiés dans le répertoire de
travail des nouveaux utilisateurs : .bashrc, .bash_profiles, ...
Hasna SABAH 5/5