# Désactiver le compte root sous Debian Dans la plupart des distributions modernes, le compte `root` est désactivé par défaut. Cet article explique comment vérifier son état, le désactiver proprement et éventuellement le réactiver. ## Prérequis Avant de désactiver `root`, vous devez disposer d’un compte utilisateur standard ayant des privilèges d’administration via **sudo**.   ### Étapes préalables - Ouvrir une session root et installer le paquet **sudo** : ```bash apt install sudo ``` - Créer un utilisateur si nécessaire (exemple : `iamnotroot`) : ```bash adduser iamnotroot ``` - Ajouter cet utilisateur au groupe **sudo** : ```bash adduser iamnotroot sudo ``` - Fermer la session root : ```bash exit ``` ## Désactiver le compte root - Connectez-vous avec l’utilisateur non-root membre du groupe `sudo` (exemple : `iamnotroot`). - Vérifiez ses privilèges en exécutant une commande d’administration (si la commande est acceptée, vous pouvez passer à l’étape suivante) : ```bash sudo reboot ``` - Désactivez le compte root en verrouillant son mot de passe : ```bash sudo passwd -l root ``` > [!info] À savoir !<span style="font-weight: normal; color: var(--text-normal)"> Cette commande place un `!` devant le hash du mot de passe de `root` dans `/etc/shadow`, empêchant ainsi toute connexion avec ce compte.</span> ### Commandes alternatives - Méthode équivalente avec `usermod` : ```bash sudo usermod -L root ``` - **Ancienne méthode (dépréciée, à éviter)** : ```bash sudo usermod -p '!' root ``` ### Vérification Fermez la session courante et tentez d’ouvrir une session avec `root`.  Vous devriez recevoir : ``` Login failed ``` ## Pendant l’installation de l’OS Lors de l’installation de Debian, il suffit de laisser vide le champ *mot de passe du compte root*.  Cela entraîne automatiquement : - la désactivation du compte `root`, - l’installation de `sudo`, - l’ajout du premier utilisateur créé dans le groupe `sudo`. ## Réactiver le compte root - Déverrouiller le compte : ```bash sudo usermod -U root ``` - Définir un nouveau mot de passe : ```bash sudo passwd root ``` - Tester la connexion avec `root` et conserver le mot de passe en lieu sûr.   ## Référence - [IT CONNECT – Comment désactiver le compte root sous Debian 12 ?](https://www.it-connect.fr/linux-comment-desactiver-le-compte-root-sur-debian-12/) %% ## Désactiver complètement root > [!warning] Disclamer ! <span style="font-weight: normal; color: var(--text-normal)">Je n'ai pas encore testé la méthode ci-dessous. Vous pMais verrouiller est différent de désactiver totalement root. </span> - **Verrouiller (`passwd -l` ou `usermod -L`)** : empêche l’authentification par mot de passe, mais le compte `root` existe toujours.   - **Désactiver totalement** : vous pouvez changer le shell par `/usr/sbin/nologin` :   ```bash   sudo usermod -s /usr/sbin/nologin root ```   Cela bloque l’accès complet au compte root (même sans mot de passe).    %%