Sur les hôtes Ubuntu et Debian, le mode mono-utilisateur , également appelé mode de secours , est utilisé pour effectuer des opérations critiques.
Le mode mono-utilisateur peut être utilisé pour réinitialiser le mot de passe root ou pour effectuer des vérifications des systèmes de fichiers et les réparations si votre système est incapable de les monter.
Dans ce tutoriel, nous allons voir comment démarrer en mode mono-utilisateur sur les hôtes Debian et Ubuntu et comment réinitialiser le mot de passe root.
Nous configurons également nos unités cibles (sauvetage et urgence) pour demander un mot de passe au démarrage en mode mono-utilisateur.
Remarque :afin de démarrer sur des cibles de secours ou d'urgence, vous avez besoin d'un accès physique à la machine pour interrompre le processus de démarrage GRUB par défaut.
Cibles de sauvetage et d'urgence sur Debian
Sur les distributions Debian récentes, systemd est responsable du démarrage de votre hôte Linux en utilisant une cible par défaut.
Si vous souhaitez vérifier la cible par défaut exécutée par systemd, vous pouvez exécuter la commande suivante
$ systemctl get-default
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593381.png)
Comme vous pouvez le voir, mon système est configuré pour démarrer sur une cible graphique par défaut.
Comme je ne possède aucun environnement de bureau comme GNOME ou KDE, il va démarrer dans un simple shell.
Cependant, la cible graphique n'est pas la seule cible disponible sous Linux, vous pouvez démarrer dans les modes suivants :
- éteindre :utilisé pour arrêter votre hôte et éteindre le système ;
- sauvetage :un mode utilisé pour démarrer votre système avec un shell de secours ;
- urgence :similaire au mode de secours sauf qu'aucun service n'est lancé et qu'aucun système de fichiers n'est monté ;
- multi-utilisateur :le mode par défaut sur les systèmes Linux systemd, utilisé pour démarrer votre hôte dans un système non graphique (sans environnement de bureau) ;
- graphique :inclut la cible multi-utilisateurs et un environnement graphique tel que KDE ou GNOME par exemple ;
- redémarrer :arrête le système et le redémarre immédiatement
Comme leurs noms l'indiquent, ces modes sont utilisés pour effectuer des opérations de maintenance sur un système Linux, mais ils doivent être effectués en toute sécurité pour éviter toute fuite de sécurité.
Dans cet article, nous allons nous concentrer sur le sauvetage et urgence modes et voyez comment nous pouvons les utiliser en toute sécurité.
Nous allons également voir comment le démarrage en mode mono-utilisateur peut être utilisé pour changer le mot de passe root ou pour effectuer de simples vérifications des systèmes de fichiers.
Configurer le compte racine sur Debian
Par défaut, lorsque vous entrez en mode mono-utilisateur, vous recevrez une invite racine avec des privilèges complets.
Par conséquent, pour démarrer en mode mono-utilisateur (ou mode de secours), votre compte root doit être déverrouillé et il doit avoir un mot de passe.
Vérification de l'état de verrouillage du compte racine
Sur Ubuntu, les comptes root sont désactivés par défaut par mesure de sécurité, et vous pouvez également choisir de le désactiver sur Debian 10 (si vous ne spécifiez pas de mot de passe root lors de l'installation de Debian)
Afin de vérifier si votre compte root est verrouillé, exécutez la commande suivante
$ sudo -s
$ cat /etc/shadow | grep root
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593335.png)
Comme vous pouvez le voir, il y a un point d'exclamation sur l'espace réservé au mot de passe :cela signifie que la racine est verrouillée.
Définir un mot de passe de compte racine
Afin de définir un mot de passe pour le compte root, exécutez la commande suivante
$ sudo passwd
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593367.png)
Si vous revenez vérifier le contenu de votre fichier shadow, vous devriez maintenant voir que le contenu a été modifié et qu'aucun point d'exclamation n'est présenté.
Génial, nous pouvons maintenant commencer à démarrer en mode mono-utilisateur à partir de l'écran du chargeur de démarrage GRUB.
Démarrage en mode Rescue à partir de GRUB
Afin de démarrer en mode mono-utilisateur ou en mode de secours, vous allez interrompre le processus de démarrage par défaut lors du démarrage de votre machine.
Réinitialisez votre machine et interrompez le processus de démarrage en appuyant sur une touche fléchée dans le menu GNU GRUB.
Si vous utilisez une distribution basée sur Debian, voici ce que vous devriez voir sur votre écran
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593386.png)
Comme décrit dans le panneau de description du bas, appuyez sur "e" pour modifier les commandes de démarrage
Vous devriez maintenant voir la fenêtre suivante sur votre écran
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593368.png)
À l'aide des flèches directionnelles, accédez à la ligne de démarrage du noyau Linux et placez la chaîne suivante à la fin de la ligne.
systemd.unit=rescue.target
Vous pouvez aussi simplement taper « 1 », cela équivaut à démarrer en mode mono-utilisateur sur Debian.
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593321.png)
Comme décrit ci-dessous le script de démarrage, appuyez sur F10 pour démarrer dans la cible de sauvetage.
Votre noyau Linux sera chargé et votre système de fichiers virtuel initial sera chargé.
Avant d'avoir l'accès, vous serez invité avec le mot de passe root que vous venez de changer auparavant.
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593315.png)
Tapez le mot de passe que vous avez défini auparavant, et vous devriez maintenant avoir un shell root directement sur votre hôte.
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593307.png)
Génial! Maintenant que vous avez un shell root dans l'hôte, vous pouvez commencer par changer le mot de passe root ou en vérifiant vos systèmes de fichiers.
Recommandations de sécurité pour le mode mono-utilisateur
En ce qui concerne le mode mono-utilisateur ou la cible de sauvetage, il est important que ce mode soit protégé par un mot de passe sur votre système.
Comme vous pouvez le voir, c'est le cas par défaut sur Debian 10, mais il faut s'assurer sur les autres distributions que c'est le cas.
Si un intrus a un accès physique à votre machine, dans un centre de données par exemple, cela pourrait être aussi simple que de redémarrer la machine, d'interrompre le processus de démarrage et de lancer un mode mono-utilisateur non protégé.
De là, chaque fichier peut être supprimé, copié ou transféré vers un serveur non sécurisé.
Des programmes malveillants peuvent également être installés pour suivre l'activité de l'hôte et voler des informations personnelles.
Interface de connexion Sulogin
Heureusement pour vous, les distributions Debian standard sont configurées pour demander le mot de passe root lors du démarrage en mode mono-utilisateur.
Il peut être vu en inspectant les services de secours et d'urgence sur votre hôte (situé à /usr/lib/systemd/system )
$ cat /usr/lib/systemd/system/rescue.service
![](https://m.unixlinux.online/article/uploadfiles/202205/2022050510593319.png)
Par défaut, au démarrage, votre système va lancer le systemd-sulogin-shell en mode de secours, qui est à l'abri d'un accès non autorisé.
Cependant, vous devez vous assurer que ce fichier n'a pas été modifié et que le système n'est pas invité à lancer un shell simple (comme /bin/sh par exemple).
Cela se traduirait par un mode mono-utilisateur non sécurisé, avec essentiellement une faille de sécurité majeure si quelqu'un avait un accès physique à la machine.
Conclusion
Dans ce didacticiel, vous avez découvert le mode mono-utilisateur sur les distributions basées sur Debian et son lien avec les cibles de secours et d'urgence sous Linux.
Vous avez appris que ce mode doit être protégé par mot de passe car il offre un shell root pour les utilisateurs qui devaient s'y connecter.
Vous avez également vu comment vous pouvez demander au GRUB de démarrer dans ce mode et comment il peut être utilisé pour effectuer des opérations de maintenance sur votre système.
Si vous êtes curieux d'en savoir plus sur l'administration système Linux, nous avons une section complète qui lui est consacrée sur le site Web.