Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 14

Gestion des utilisateurs et des groupes

Recommended resources

Bonjour ! Bienvenue dans cette nouvelle leçon.

Dans le module précédent, nous avons terminé notre exploration du système de fichiers Linux en apprenant à archiver et compresser des fichiers avec tar et gzip. Cette compétence est cruciale pour réaliser des sauvegardes et gérer de grands volumes de données, des tâches typiques en administration système.

Aujourd'hui, nous ouvrons un nouveau chapitre passionnant : le Module 3, Administration du Système Linux. Nous allons passer de la gestion des fichiers à la gestion des personnes (ou des services) qui utilisent ces fichiers.

L'objectif de cette leçon est d'apprendre à gérer les comptes utilisateurs et les groupes. En tant qu'administrateur système, c'est l'une de vos responsabilités les plus fondamentales. Vous déterminerez qui a le droit d'accéder au système, ce qu'ils peuvent y faire, et comment organiser ces accès de manière sécurisée et efficace.

À la fin de cette leçon, vous saurez créer, modifier et supprimer des utilisateurs et des groupes à l'aide des commandes de base de Linux.

1. Les concepts : Utilisateurs et Groupes

Avant de taper la moindre commande, il est essentiel de comprendre pourquoi les utilisateurs et les groupes existent. Un système d'exploitation comme Linux est conçu pour être multi-utilisateurs. Plusieurs personnes peuvent l'utiliser simultanément, et le système doit garantir que les actions d'un utilisateur n'interfèrent pas avec celles d'un autre et que les données restent confidentielles.

On distingue généralement trois types de comptes :

  1. L'utilisateur root : C'est le super-administrateur. Il a tous les droits sur le système. C'est un compte très puissant, et donc dangereux s'il est mal utilisé. En pratique, on l'utilise le moins possible.
  2. Les utilisateurs normaux : Ce sont les comptes que vous créez pour les personnes qui se connectent à la machine. Ils ont des droits limités à leur propre espace de travail (/home/nom_utilisateur) et aux ressources qu'on leur attribue.
  3. Les comptes de service : Ce sont des comptes spéciaux, non destinés à être utilisés par des humains. Ils sont créés pour faire fonctionner des applications (un serveur web, une base de données, etc.) avec des droits très restreints, juste assez pour que le service fonctionne. C'est un principe de sécurité essentiel.

Pour gérer les droits de manière efficace, on ne les attribue pas utilisateur par utilisateur. On utilise des groupes. Un groupe est simplement un ensemble d'utilisateurs. En donnant une permission à un groupe (par exemple, le droit de modifier les fichiers d'un projet web), tous les membres de ce groupe héritent automatiquement de cette permission.

Initiation LINUX. Gestion des utilisateurs et groupes

Pour commencer, cette vidéo explique très clairement pourquoi la gestion des utilisateurs est si importante sous Linux. Elle présente les différents types de comptes et le rôle fondamental des groupes.

Regardez la vidéo du début jusqu'à 11:16. Concentrez-vous sur la distinction entre l'utilisateur 'root' et les utilisateurs normaux, le rôle des groupes, et la présentation des fichiers de configuration /etc/passwd et /etc/group.


2. Créer et Gérer les Groupes

Avant de créer des utilisateurs, il est souvent judicieux de créer les groupes auxquels ils appartiendront.

La commande pour créer un groupe est groupadd. Comme cette action modifie le système, elle nécessite des privilèges d'administrateur, que nous obtenons avec sudo.

Mise en pratique dans votre terminal Ubuntu Server :

  1. Créons un groupe pour les développeurs :
    sudo groupadd developpeurs
    
  2. Créons un autre groupe pour les testeurs :
    sudo groupadd testeurs
    
  3. Vérifions que les groupes ont été créés :
    Les informations sur les groupes sont stockées dans le fichier /etc/group. Nous pouvons utiliser grep pour y chercher nos nouveaux groupes.
    grep "developpeurs" /etc/group
    grep "testeurs" /etc/group
    
    Vous devriez voir une ligne pour chaque groupe.

Pour supprimer un groupe, la commande est tout aussi simple : groupdel.




# Exemple (ne le tapez pas si vous voulez garder le groupe pour la suite)
sudo groupdel testeurs 

3. Créer et Gérer les Utilisateurs

Maintenant que nous avons des groupes, nous pouvons créer des utilisateurs et les y assigner. Nous utiliserons un ensemble de commandes très puissantes : useradd, passwd, usermod et userdel.

La vidéo suivante est un excellent tour d'horizon pratique de ces commandes. Regardez-la, puis nous mettrons tout en pratique étape par étape.

Gérer les utilisateurs et les groupes sous Linux

Cette vidéo de Korben montre de manière dynamique comment utiliser les commandes essentielles de gestion des utilisateurs. Elle vous donnera une bonne vue d'ensemble avant notre mise en pratique.

Regardez les segments suivants pour vous familiariser avec le flux de travail : Création d'utilisateur avec useradd : de 03:26 à 05:05 Modification avec usermod : de 06:33 à 08:00 (focus sur le verrouillage/déverrouillage) Gestion des groupes : de 11:19 à 13:31 (création et ajout d'un utilisateur) Suppression avec userdel : de 14:49 à 15:25

A. Créer un utilisateur

La commande de base est useradd. Une option est cruciale : -m, qui demande au système de créer le répertoire personnel de l'utilisateur (/home/nom_utilisateur). Sans cela, l'utilisateur ne pourra pas stocker ses fichiers correctement.

Après avoir créé un compte, il est désactivé jusqu'à ce que vous lui définissiez un mot de passe avec la commande passwd.

Mise en pratique :

  1. Créez un utilisateur pdupont :

    sudo useradd -m pdupont
    
  2. Définissez son mot de passe :

    sudo passwd pdupont
    

    Le système vous demandera de taper et de confirmer le nouveau mot de passe. Pour des raisons de sécurité, rien ne s'affiche à l'écran, c'est normal.

  3. Vérifiez sa création :
    La commande id permet de voir les informations d'un utilisateur (son identifiant UID, son groupe principal GID, et les groupes auxquels il appartient).

    id pdupont
    

    Vous pouvez aussi vérifier que son dossier personnel a bien été créé :

    ls -l /home
    

B. Modifier un utilisateur

Souvent, vous devrez modifier un compte existant : l'ajouter à un nouveau groupe, changer son nom, ou le bloquer temporairement. C'est le rôle de la commande usermod.

Mise en pratique :

  1. Ajoutez pdupont au groupe developpeurs :

    sudo usermod -aG developpeurs pdupont
    

    Ici, les options sont très importantes :

    • -G spécifie la liste des groupes secondaires.
    • -a signifie append (ajouter). Si vous oubliez -a, l'utilisateur sera retiré de tous ses autres groupes secondaires ! C'est une erreur classique.
  2. Vérifiez le changement :

    id pdupont
    

    Vous devriez maintenant voir developpeurs dans la liste de ses groupes.

  3. Verrouiller et déverrouiller un compte :
    Si un employé part en vacances, vous pouvez verrouiller son compte pour des raisons de sécurité.

    
    
    
    # Pour verrouiller
    sudo usermod -L pdupont
    
    
    
    
    # Pour déverrouiller
    sudo usermod -U pdupont
    

Cette image illustre bien la création d'utilisateurs avec différentes options.

Linux User Management with useradd Command
Cette image montre un terminal Linux avec des exemples de commandes `useradd` pour créer des utilisateurs, `passwd` pour définir un mot de passe, et `id` pour vérifier les informations du nouvel utilisateur, y compris son appartenance à des groupes.

C. Supprimer un utilisateur

Enfin, pour supprimer un compte qui n'est plus nécessaire, on utilise userdel.

Il y a une option très importante : -r.

  • sudo userdel nom_utilisateur : supprime le compte, mais conserve son répertoire personnel et ses fichiers. Utile si vous devez archiver ses données.
  • sudo userdel -r nom_utilisateur : supprime le compte ET son répertoire personnel. C'est une suppression complète et irréversible.

Mise en pratique :

  1. Créez un utilisateur temporaire :
    sudo useradd -m tmartin
    
  2. Supprimez-le en effaçant ses données :
    sudo userdel -r tmartin
    
  3. Vérifiez la suppression :
    ls -l /home
    
    Le répertoire /home/tmartin a disparu.

4. Synthèse et Bonnes Pratiques

Vous avez maintenant les commandes en main. Pour les utiliser comme un professionnel, il est important d'adopter de bonnes habitudes dès le début.

L'article suivant résume parfaitement ce que nous avons vu et, surtout, se termine par une section sur les bonnes pratiques que je vous encourage vivement à lire et à adopter.

Gestion des utilisateurs et groupes sous Linux - Stephane Robert

Cet article de Stéphane Robert est une excellente ressource pour consolider vos acquis. Il récapitule les commandes et propose des conseils essentiels pour une gestion propre et sécurisée.

Lisez les sections suivantes : "Création et gestion des groupes" "Création d’un nouvel utilisateur" "Modification des informations d’un utilisateur" "Suppression d’un utilisateur" "Bonnes pratiques en gestion des utilisateurs et groupes" Concentrez-vous particulièrement sur la section des bonnes pratiques. Les conseils sur les conventions de nommage, la gestion par les groupes et l'usage de sudo sont fondamentaux.


Conclusion

Félicitations ! Vous avez fait vos premiers pas en tant qu'administrateur système en apprenant à gérer les identités sur une machine Linux. C'est la base de la sécurité et de l'organisation d'un serveur.

Points clés à retenir :

  • Commandes de groupe : groupadd, groupdel.
  • Commandes utilisateur : useradd, usermod, userdel.
  • Mot de passe : passwd est indispensable après useradd.
  • Options critiques :
    • useradd -m pour créer le répertoire personnel.
    • usermod -aG pour ajouter un utilisateur à un groupe sans écraser ses autres appartenances.
    • userdel -r pour supprimer un utilisateur et ses fichiers.
  • Principe fondamental : Gérez les permissions via les groupes, pas pour chaque utilisateur individuellement. C'est plus propre, plus sûr et beaucoup plus facile à maintenir.

Maintenant que nous savons qui sont les "habitants" de notre système (les utilisateurs et les groupes), nous sommes prêts à définir ce qu'ils ont le droit de faire.

Dans la prochaine leçon, nous aborderons la gestion des permissions de fichiers et de dossiers. Vous apprendrez à utiliser les commandes chmod et chown pour contrôler avec précision qui peut lire, écrire ou exécuter chaque fichier du système. C'est la suite logique et directe de ce que nous avons appris aujourd'hui.