Maîtriser l'ajout d'utilisateurs sous Linux : Un tutoriel complet

LightNode
By LightNode ·

Introduction

Linux est un système d'exploitation polyvalent et puissant, largement utilisé dans les environnements serveurs, le développement et diverses infrastructures informatiques. Un des aspects critiques de l'administration Linux est la gestion des utilisateurs, qui implique la création, la modification et la suppression de comptes utilisateurs. Une gestion appropriée des utilisateurs garantit la sécurité du système, une allocation organisée des ressources et un fonctionnement efficace du système.

Dans cet article, nous couvrirons divers aspects de l'ajout d'utilisateurs sous Linux, en fournissant des étapes détaillées, des commandes et des meilleures pratiques. À la fin de ce guide, vous aurez une compréhension solide de la gestion efficace des comptes utilisateurs dans un environnement Linux.

Comprendre la gestion des utilisateurs sous Linux

La gestion des utilisateurs est un aspect fondamental de l'administration des systèmes Linux. Chaque compte utilisateur représente une personne ou un service avec des permissions et des droits d'accès spécifiques. Une gestion appropriée de ces comptes est cruciale pour maintenir la sécurité et l'organisation du système.

Comptes utilisateurs et leurs rôles

Sous Linux, les comptes utilisateurs sont utilisés pour contrôler l'accès au système. Il existe deux principaux types de comptes utilisateurs :

  1. Utilisateur Root : L'utilisateur root a le plus haut niveau d'accès et peut effectuer n'importe quelle opération sur le système. Il est utilisé pour les tâches administratives et a un accès illimité à tous les fichiers et commandes.
  2. Utilisateurs réguliers : Les comptes utilisateurs réguliers ont des permissions limitées et sont généralement utilisés pour les tâches quotidiennes. Ils ne peuvent pas effectuer de fonctions administratives sauf si explicitement autorisés.

Différences entre l'utilisateur Root et les utilisateurs réguliers

  • Utilisateur Root : Le compte root (également connu sous le nom de superutilisateur) a un contrôle total sur le système. Il peut modifier les fichiers système, changer les configurations système et gérer d'autres comptes utilisateurs. En raison de ses capacités puissantes, il est essentiel d'utiliser le compte root avec précaution pour éviter des dommages involontaires au système.
  • Utilisateurs réguliers : Les comptes utilisateurs réguliers sont conçus pour une utilisation quotidienne et ont des permissions restreintes. Ils peuvent créer des fichiers, exécuter des programmes et accéder à leurs propres répertoires, mais ne peuvent pas modifier les paramètres système ou les fichiers d'autres utilisateurs.

Importance de la gestion correcte des utilisateurs

Une gestion appropriée des utilisateurs est cruciale pour plusieurs raisons :

  • Sécurité : En contrôlant l'accès et les permissions des utilisateurs, vous pouvez prévenir l'accès non autorisé à des données sensibles et à des composants critiques du système.
  • Organisation : Les comptes utilisateurs aident à organiser les fichiers et les processus, facilitant la gestion des ressources et la résolution des problèmes.
  • Responsabilité : Chaque compte utilisateur peut être suivi et surveillé, assurant la responsabilité des actions effectuées sur le système.

Préparation à l'ajout d'un utilisateur

Avant d'ajouter un nouvel utilisateur à un système Linux, il est important de s'assurer que vous avez les permissions nécessaires et de comprendre l'état actuel des utilisateurs. Cette section vous guidera à travers les étapes de préparation nécessaires pour ajouter un utilisateur.

Se connecter en tant qu'utilisateur Root ou utiliser Sudo

Pour ajouter un utilisateur sous Linux, vous avez besoin des privilèges root. Vous pouvez soit vous connecter en tant qu'utilisateur root, soit utiliser la commande sudo pour exécuter des tâches administratives avec votre compte utilisateur régulier.

  • Se connecter en tant qu'utilisateur Root : Si vous avez un accès direct au compte root, vous pouvez passer à l'utilisateur root en utilisant la commande suivante :

    su -
    

    Entrez le mot de passe root lorsque vous y êtes invité.

  • Utiliser Sudo : Si votre compte utilisateur a des privilèges sudo, vous pouvez préfixer sudo aux commandes administratives pour les exécuter avec les privilèges root. Par exemple :

    sudo commande
    

    Vous devrez entrer votre mot de passe utilisateur pour confirmer la commande.

Vérification des utilisateurs actuels sur le système

Avant d'ajouter un nouvel utilisateur, il est utile de vérifier les utilisateurs existants sur le système pour éviter les conflits potentiels et comprendre la configuration actuelle des utilisateurs. Vous pouvez consulter la liste des utilisateurs en examinant le fichier /etc/passwd :

cat /etc/passwd

Cette commande affichera une liste de tous les comptes utilisateurs sur le système, ainsi que leurs informations associées.

Chaque ligne dans le fichier /etc/passwd représente un compte utilisateur et suit ce format :

nom_utilisateur:x:UID:GID:commentaire:répertoire_accueil:shell
  • nom_utilisateur : Le nom de l'utilisateur.
  • x : Un espace réservé pour le mot de passe (les mots de passe réels sont stockés dans /etc/shadow).
  • UID : Le numéro d'identification de l'utilisateur.
  • GID : Le numéro d'identification du groupe.
  • commentaire : Un champ pour des informations supplémentaires sur l'utilisateur (par exemple, nom complet).
  • répertoire_accueil : Le chemin vers le répertoire d'accueil de l'utilisateur.
  • shell : Le shell par défaut assigné à l'utilisateur.

Ajouter un nouvel utilisateur

Ajouter un nouvel utilisateur sous Linux est simple avec la commande useradd. Cette section couvrira la syntaxe de base et les options pour créer un nouveau compte utilisateur.

Introduction à la commande useradd

La commande useradd est utilisée pour créer un nouveau compte utilisateur. Elle vous permet de spécifier diverses options telles que le répertoire d'accueil, le shell et les informations sur l'utilisateur.

Syntaxe de base et options de useradd

La syntaxe de base pour la commande useradd est :

useradd [options] nom_utilisateur

Les options couramment utilisées incluent :

  • -m : Crée le répertoire d'accueil de l'utilisateur s'il n'existe pas.
  • -d : Spécifie le chemin du répertoire d'accueil de l'utilisateur.
  • -s : Spécifie le shell par défaut de l'utilisateur.
  • -c : Ajoute un commentaire (par exemple, nom complet) pour l'utilisateur.
  • -G : Spécifie des groupes supplémentaires pour l'utilisateur.

Exemple d'ajout d'un nouvel utilisateur

Ajoutons un nouvel utilisateur nommé nouvelutilisateur avec un répertoire d'accueil et un shell spécifié :

sudo useradd -m -d /home/nouvelutilisateur -s /bin/bash -c "Nouvel Utilisateur" nouvelutilisateur

Dans cet exemple :

  • -m : Crée le répertoire d'accueil /home/nouvelutilisateur.
  • -d /home/nouvelutilisateur : Spécifie le chemin du répertoire d'accueil.
  • -s /bin/bash : Définit le shell par défaut sur Bash.
  • -c "Nouvel Utilisateur" : Ajoute un commentaire avec le nom complet "Nouvel Utilisateur".
  • nouvelutilisateur : Le nom d'utilisateur pour le nouveau compte.

Après avoir exécuté cette commande, le nouveau compte utilisateur est créé, mais il n'a pas encore de mot de passe. Dans la section suivante, nous verrons comment définir un mot de passe pour le nouvel utilisateur.

Définir un mot de passe pour le nouvel utilisateur

Définir un mot de passe fort pour chaque utilisateur est crucial pour maintenir la sécurité du système. Cette section explique comment définir un mot de passe pour un nouvel utilisateur en utilisant la commande passwd.

Utilisation de la commande passwd pour définir un mot de passe

Pour définir ou changer le mot de passe d'un utilisateur, utilisez la commande passwd suivie du nom d'utilisateur. Vous serez invité à entrer et à confirmer le nouveau mot de passe.

sudo passwd nouvelutilisateur

Suivez les instructions pour entrer et confirmer le mot de passe. Assurez-vous que le mot de passe est fort et respecte les politiques de sécurité de votre système.

Avec le mot de passe défini, le nouveau compte utilisateur est maintenant pleinement fonctionnel. Dans les sections suivantes, nous explorerons des tâches supplémentaires de gestion des utilisateurs, telles que l'ajout de détails utilisateur et la gestion des groupes d'utilisateurs.

Ajouter des détails utilisateur

Ajouter des détails supplémentaires à un compte utilisateur peut aider à l'administration du système et à l'identification des utilisateurs. La commande chfn (change finger information) est utilisée pour modifier les informations de l'utilisateur telles que le nom complet, le numéro de bureau, le téléphone professionnel et le téléphone personnel.

Utilisation de la commande chfn

La commande chfn permet de mettre à jour les informations personnelles de l'utilisateur. La syntaxe est :

sudo chfn nouvelutilisateur

Lorsque vous exécutez cette commande, vous serez invité à entrer les détails suivants :

  • Nom complet
  • Numéro de bureau
  • Téléphone professionnel
  • Téléphone personnel
  • Autres

Vous pouvez également spécifier ces détails directement en utilisant des

options. Par exemple :

sudo chfn -f "Nouvel Utilisateur" -r "123" -w "123-456-7890" -h "098-765-4321" nouvelutilisateur

Dans cet exemple :

  • -f "Nouvel Utilisateur" : Définit le nom complet sur "Nouvel Utilisateur".
  • -r "123" : Définit le numéro de bureau sur "123".
  • -w "123-456-7890" : Définit le numéro de téléphone professionnel.
  • -h "098-765-4321" : Définit le numéro de téléphone personnel.

Gestion des groupes d'utilisateurs

Sous Linux, les groupes sont utilisés pour organiser et gérer les permissions des utilisateurs. Chaque utilisateur appartient à au moins un groupe, et des groupes supplémentaires peuvent être assignés pour gérer l'accès aux ressources plus efficacement.

Explication des groupes primaires et secondaires

  • Groupe primaire : Chaque utilisateur a un groupe primaire, qui est spécifié au moment de la création de l'utilisateur. Les fichiers créés par l'utilisateur seront associés à ce groupe.
  • Groupes secondaires : Les utilisateurs peuvent appartenir à plusieurs groupes secondaires. Ces groupes fournissent des permissions supplémentaires et un accès aux ressources.

Ajouter un utilisateur à un groupe en utilisant usermod

La commande usermod est utilisée pour modifier les comptes utilisateurs, y compris l'ajout d'utilisateurs à des groupes. L'option -aG ajoute l'utilisateur aux groupes spécifiés sans les supprimer d'autres groupes.

La syntaxe pour ajouter un utilisateur à un groupe est :

sudo usermod -aG nomgroupe nouvelutilisateur

Par exemple, pour ajouter nouvelutilisateur au groupe sudo, ce qui accorde des privilèges administratifs, utilisez :

sudo usermod -aG sudo nouvelutilisateur

Ajouter plusieurs groupes

Vous pouvez ajouter un utilisateur à plusieurs groupes en spécifiant une liste de groupes séparés par des virgules :

sudo usermod -aG groupe1,groupe2,groupe3 nouvelutilisateur

Cette commande ajoute nouvelutilisateur à groupe1, groupe2 et groupe3.

Afficher les groupes d'un utilisateur

Pour vérifier les groupes auxquels appartient un utilisateur, utilisez la commande groups suivie du nom d'utilisateur :

groups nouvelutilisateur

Cette commande affichera une liste de groupes dont l'utilisateur nouvelutilisateur est membre.

Créer un nouveau groupe

Si vous devez créer un nouveau groupe avant d'ajouter des utilisateurs, utilisez la commande groupadd :

sudo groupadd nomgroupe

Par exemple, pour créer un nouveau groupe appelé developpeurs, utilisez :

sudo groupadd developpeurs

Définir le répertoire d'accueil et le shell de l'utilisateur

Lors de la création d'un nouvel utilisateur, il est important de définir le répertoire d'accueil et le shell par défaut de manière appropriée. Le répertoire d'accueil est l'endroit où sont stockés les fichiers et les paramètres personnels de l'utilisateur, tandis que le shell est l'interface en ligne de commande avec laquelle l'utilisateur interagira.

Importance du répertoire d'accueil et du shell

  • Répertoire d'accueil : C'est l'espace personnel de chaque utilisateur où il peut stocker des fichiers, des configurations et des préférences. Il est généralement situé sous /home/nom_utilisateur.
  • Shell : Le shell est l'interface qui permet aux utilisateurs d'interagir avec le système d'exploitation via des commandes. Les shells courants incluent Bash, Zsh et Sh.

Spécifier le répertoire d'accueil et le shell lors de la création d'un utilisateur

Lors de la création d'un nouvel utilisateur, vous pouvez spécifier le répertoire d'accueil et le shell en utilisant la commande useradd avec les options -d et -s respectivement.

Exemple : Créer un utilisateur avec un répertoire d'accueil et un shell personnalisés

Pour créer un utilisateur avec un répertoire d'accueil et un shell spécifiques, vous pouvez utiliser :

sudo useradd -m -d /repertoire/accueil/perso -s /bin/zsh -c "Utilisateur avec répertoire et shell personnalisés" utilisateurpersonnalise

Dans cet exemple :

  • -m : Crée le répertoire d'accueil s'il n'existe pas.
  • -d /repertoire/accueil/perso : Spécifie le chemin personnalisé pour le répertoire d'accueil de l'utilisateur.
  • -s /bin/zsh : Définit le shell par défaut sur Zsh.
  • -c "Utilisateur avec répertoire et shell personnalisés" : Ajoute un commentaire avec le nom complet de l'utilisateur.
  • utilisateurpersonnalise : Le nom d'utilisateur pour le nouveau compte.

Cette commande crée un nouvel utilisateur avec un répertoire d'accueil et un shell personnalisés, adaptés à des besoins spécifiques.

Gestion avancée des utilisateurs

Au-delà de la création de base d'utilisateurs, Linux fournit des outils et des commandes avancés pour gérer les utilisateurs plus efficacement. Cette section couvrira certaines tâches avancées de gestion des utilisateurs, y compris l'utilisation du script adduser, la gestion des quotas utilisateurs et le verrouillage/déverrouillage des comptes utilisateurs.

Utilisation du script adduser pour la création interactive d'utilisateurs

La commande adduser est un script convivial qui offre un moyen interactif de créer de nouveaux utilisateurs. Elle demande des informations telles que le nom complet, le numéro de bureau et le mot de passe, ce qui la rend plus facile à utiliser pour les débutants.

Pour utiliser adduser, exécutez simplement :

sudo adduser nouvelutilisateur

Vous serez invité à entrer des détails supplémentaires de manière interactive, simplifiant le processus de création d'utilisateurs.

Gestion des quotas et des permissions des utilisateurs

Les quotas utilisateurs sont utilisés pour limiter la quantité d'espace disque ou le nombre de fichiers qu'un utilisateur peut utiliser. Cela est utile pour empêcher un seul utilisateur de consommer toutes les ressources système.

Configuration des quotas de disque

Pour configurer les quotas de disque, suivez ces étapes :

  1. Installer le package Quota : Installez le package quota s'il n'est pas déjà installé.

    sudo apt-get install quota
    
  2. Activer les quotas sur les systèmes de fichiers : Modifiez le fichier /etc/fstab pour activer les quotas sur les systèmes de fichiers souhaités. Ajoutez les options usrquota et grpquota.

    /dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
    
  3. Remonter le système de fichiers : Remontez le système de fichiers pour appliquer les modifications.

    sudo mount -o remount /
    
  4. Créer des fichiers de quota : Créez les fichiers de quota en utilisant la commande quotacheck.

    sudo quotacheck -cum /
    
  5. Définir les quotas pour les utilisateurs : Utilisez la commande edquota pour éditer le quota d'un utilisateur spécifique.

    sudo edquota nouvelutilisateur
    
  6. Activer les quotas : Activez les quotas en utilisant la commande quotaon.

    sudo quotaon /
    

Verrouiller et déverrouiller des comptes utilisateurs

Il arrive parfois que vous deviez désactiver temporairement un compte utilisateur sans le supprimer. Cela peut être fait en verrouillant le compte.

  • Verrouiller un compte : Utilisez la commande passwd avec l'option -l.

    sudo passwd -l nouvelutilisateur
    
  • Déverrouiller un compte : Utilisez la commande passwd avec l'option -u.

    sudo passwd -u nouvelutilisateur
    

Suppression d'un utilisateur

Lorsqu'un compte utilisateur n'est plus nécessaire, il doit être supprimé pour libérer des ressources et maintenir la sécurité du système. Cette section couvre comment supprimer un utilisateur en toute sécurité ainsi que ses fichiers associés.

Supprimer en toute sécurité un utilisateur et son répertoire d'accueil

Pour supprimer un compte utilisateur, utilisez la commande userdel. Vous pouvez également supprimer le répertoire d'accueil et la boîte aux lettres de l'utilisateur en ajoutant l'option -r.

Exemple : Supprimer un utilisateur

sudo userdel nouvelutilisateur

Exemple : Supprimer un utilisateur et son répertoire d'accueil

sudo userdel -r nouvelutilisateur

Meilleures pratiques et considérations de sécurité

Une gestion appropriée des utilisateurs va au-delà de la création et de la suppression de comptes. Elle implique des audits réguliers, l'application de politiques de sécurité et la surveillance des activités des utilisateurs. Cette section fournit des meilleures pratiques pour maintenir un système sécurisé et bien organisé.

Audits réguliers des comptes utilisateurs

  • Revue des comptes utilisateurs : Examinez périodiquement les fichiers /etc/passwd et /etc/group pour vous assurer que tous les comptes utilisateurs sont valides et nécessaires.
  • Vérifier les comptes inactifs : Identifiez et désactivez les comptes qui ont été inactifs pendant une longue période.

Application des politiques de mot de passe

  • **

Mots de passe forts** : Appliquez l'utilisation de mots de passe forts en définissant des exigences de complexité et des politiques d'expiration.

  • Vieillissement des mots de passe : Utilisez la commande chage pour définir des politiques de vieillissement des mots de passe.
    sudo chage -M 90 nouvelutilisateur  # Définir l'expiration du mot de passe après 90 jours
    

Surveillance des activités et de l'accès des utilisateurs

  • Surveillance des journaux : Surveillez régulièrement les fichiers journaux tels que /var/log/auth.log pour suivre les activités de connexion des utilisateurs et détecter tout comportement suspect.
  • Contrôle d'accès : Utilisez des outils comme pam_tally2 pour limiter le nombre de tentatives de connexion échouées et verrouiller les comptes après trop d'essais infructueux.

Mesures de sécurité supplémentaires

  • Authentification à deux facteurs : Mettez en œuvre l'authentification à deux facteurs (2FA) pour une sécurité accrue.
  • Contrôle d'accès sudo : Limitez et surveillez l'utilisation de sudo pour vous assurer que seuls les utilisateurs de confiance ont des privilèges administratifs.

Ajouter des utilisateurs Linux

FAQ

Comment créer un nouvel utilisateur sous Linux ?

Pour créer un nouvel utilisateur, utilisez la commande useradd suivie du nom d'utilisateur. Par exemple :

sudo useradd -m -s /bin/bash nouvelutilisateur

Cette commande crée un nouvel utilisateur avec un répertoire d'accueil et Bash comme shell par défaut.

Comment définir un mot de passe pour un nouvel utilisateur ?

Utilisez la commande passwd suivie du nom d'utilisateur pour définir un mot de passe :

sudo passwd nouvelutilisateur

Vous serez invité à entrer et confirmer le nouveau mot de passe.

Comment ajouter un utilisateur à un groupe ?

Pour ajouter un utilisateur à un groupe, utilisez la commande usermod avec l'option -aG :

sudo usermod -aG nomgroupe nouvelutilisateur

Comment supprimer un utilisateur sous Linux ?

Pour supprimer un utilisateur, utilisez la commande userdel. Pour supprimer également le répertoire d'accueil de l'utilisateur, ajoutez l'option -r :

sudo userdel -r nouvelutilisateur

Quelle est la différence entre useradd et adduser ?

  • useradd est une commande de bas niveau pour ajouter des utilisateurs.
  • adduser est un script de niveau supérieur qui utilise useradd en interne mais offre un moyen plus convivial et interactif d'ajouter des utilisateurs.

Comment changer le shell par défaut d'un utilisateur ?

Vous pouvez changer le shell par défaut d'un utilisateur en utilisant la commande chsh :

sudo chsh -s /bin/zsh nouvelutilisateur

Vous pouvez également utiliser la commande usermod :

sudo usermod -s /bin/zsh nouvelutilisateur

Comment vérifier les groupes auxquels appartient un utilisateur ?

Utilisez la commande groups suivie du nom d'utilisateur :

groups nouvelutilisateur

Comment verrouiller et déverrouiller un compte utilisateur ?

  • Pour verrouiller un compte utilisateur :
    sudo passwd -l nouvelutilisateur
    
  • Pour déverrouiller un compte utilisateur :
    sudo passwd -u nouvelutilisateur
    

Comment créer un nouveau groupe ?

Utilisez la commande groupadd suivie du nom du groupe :

sudo groupadd nomgroupe

Comment ajouter plusieurs utilisateurs à un groupe en une seule fois ?

Vous pouvez ajouter plusieurs utilisateurs à un groupe en listant les utilisateurs séparés par des virgules avec la commande usermod :

sudo usermod -aG nomgroupe utilisateur1,utilisateur2,utilisateur3

Comment appliquer des politiques de mot de passe pour les utilisateurs ?

Utilisez la commande chage pour définir des politiques de vieillissement des mots de passe :

sudo chage -M 90 nouvelutilisateur

Cela définit l'expiration du mot de passe après 90 jours.

Comment créer un utilisateur avec un UID et un GID spécifiques ?

Utilisez la commande useradd avec les options -u et -g :

sudo useradd -u 1001 -g 1001 -m -s /bin/bash utilisateurpersonnalise

Cela crée un utilisateur avec UID 1001 et GID 1001.

Comment accorder des privilèges sudo à un utilisateur ?

Ajoutez l'utilisateur au groupe sudo en utilisant la commande usermod :

sudo usermod -aG sudo nouvelutilisateur

Sur certaines distributions, le groupe peut être nommé wheel :

sudo usermod -aG wheel nouvelutilisateur

Comment lister tous les utilisateurs sur un système Linux ?

Consultez le fichier /etc/passwd :

cat /etc/passwd

Chaque ligne représente un compte utilisateur.

Comment changer les informations d'un utilisateur telles que le nom complet ou le numéro de téléphone ?

Utilisez la commande chfn :

sudo chfn nouvelutilisateur

Suivez les instructions pour entrer les nouvelles informations.