Trouver le mot de passe root sur un système Fedora n'est pas un processus simple, et il n'existe pas de commande magique pour le révéler si vous l'avez oublié. C'est intentionnel, car connaître le mot de passe root confère un contrôle complet sur le système, et permettre un accès facile constituerait une vulnérabilité de sécurité majeure.
Cependant, vous pouvez *réinitialiser* le mot de passe root. Voici la méthode la plus courante et la plus fiable :
Utiliser Grub et `chroot` pour réinitialiser le mot de passe root :
Cette méthode fonctionne en démarrant en mode mono-utilisateur, ce qui vous donne accès à un shell dans lequel vous pouvez modifier le système sans vous connecter en tant qu'utilisateur régulier.
1. Redémarrez votre système Fedora.
2. Interrompre le processus de démarrage. Pendant le processus de démarrage, vous devez interrompre l'entrée de démarrage par défaut. Vous verrez le menu de démarrage GRUB apparaître. Appuyez sur une touche (comme « Échap », « Barre d'espace » ou « e ») pour arrêter le démarrage automatique. Le menu GRUB répertorie les noyaux disponibles.
3. Modifiez l'entrée GRUB. Dans le menu GRUB, sélectionnez le noyau que vous souhaitez démarrer (généralement le premier). Appuyez sur « e » pour modifier l'entrée sélectionnée. Cela ouvre un éditeur de texte dans GRUB.
4. Trouvez la ligne `linux`. Recherchez une ligne qui commence par « linux » ou « linuxefi ». Cette ligne contient les paramètres du noyau. C'est généralement une longue file d'attente.
5. Ajoutez `rd.break enforcing=0` à la fin de la ligne `linux`. Accédez à la fin de la ligne `linux` (à l'aide des touches fléchées) et ajoutez `rd.break enforcing=0` (y compris un espace avant `rd.break`). Cela entraînera le passage du processus de démarrage dans un premier shell *avant* que le système de fichiers racine soit entièrement monté. `enforcing=0` désactive temporairement l'application de SELinux, empêchant SELinux d'interférer avec la réinitialisation du mot de passe. SELinux peut parfois causer des problèmes lors de la réinitialisation du mot de passe, donc le désactiver pendant le processus le rend plus fiable.
6. Appuyez sur Ctrl+X ou F10 pour démarrer. Cela démarrera le processus de démarrage avec les paramètres modifiés, vous laissant tomber dans un shell.
7. Remontez le système de fichiers racine en mode lecture-écriture. À l'invite « switch_root » (vous pourriez simplement voir une invite « # »), le système de fichiers racine est monté en lecture seule. Vous devez le remonter avec les autorisations de lecture-écriture :
```bash
mount -o remonter,rw /sysroot
```
8. `chroot` dans le système. Remplacez le répertoire racine par votre installation Fedora :
```bash
chroot/sysroot
```
9. Réinitialisez le mot de passe root. Vous travaillez désormais dans l'environnement racine de votre système Fedora. Utilisez la commande `passwd` pour changer le mot de passe root :
```bash
mot de passe
```
Vous serez invité à saisir le nouveau mot de passe deux fois.
10. Activez SELinux (si vous l'avez désactivé). Si vous avez désactivé SELinux avec `enforcing=0`, créez un fichier vide pour indiquer à SELinux de réétiqueter le système au prochain redémarrage. Ceci est crucial pour maintenir la sécurité du système :
```bash
touchez /.autorelabel
```
11. Quittez le `chroot` et redémarrez.
```bash
sortie
sortie
redémarrer
```
Le premier « exit » vous permet de sortir de l'environnement « chroot ». La deuxième « sortie » vous fait sortir du shell initial. La commande `reboot` redémarre le système. Le processus de réétiquetage automatique peut prendre un certain temps. Sois patient.
12. Connectez-vous avec le nouveau mot de passe root. Après le redémarrage, vous devriez pouvoir vous connecter en tant que root en utilisant le nouveau mot de passe que vous avez défini.
Considérations importantes :
* Sécurité : Cette méthode permet à toute personne ayant un accès physique à la machine de réinitialiser le mot de passe root. Protégez votre système en conséquence. Pensez à activer la protection par mot de passe de démarrage dans vos paramètres BIOS ou UEFI.
* SELinux : Il est *fortement* recommandé de réactiver SELinux après avoir réinitialisé le mot de passe. SELinux fournit une couche de sécurité critique pour Fedora.
* Alternatives : Si vous disposez d'un autre compte utilisateur avec les privilèges « sudo », vous pouvez utiliser « sudo passwd root » pour réinitialiser le mot de passe root sans avoir besoin de passer par le processus GRUB. C'est la méthode à privilégier si vous disposez d'un compte approprié.
* Mode de récupération : Certaines installations de Fedora peuvent proposer une option de mode de récupération dans le menu GRUB. Ce mode fournit souvent directement un shell root, simplifiant le processus de réinitialisation du mot de passe.
* Machines virtuelles : Si vous utilisez une machine virtuelle, vous pourrez peut-être démarrer à partir d'un live CD/ISO et monter le disque virtuel pour réinitialiser le mot de passe.
Pourquoi cette méthode fonctionne :
* `rd.break` : Ce paramètre du noyau indique à initramfs (le système de fichiers RAM initial) de vous déposer dans un shell au début du processus de démarrage, *avant* que le système ne soit complètement initialisé. Cela vous permet d'apporter des modifications au système de fichiers racine avant le démarrage des services système.
* `chroot` : La commande `chroot` modifie le répertoire racine du processus en cours et de tous ses enfants. Cela fait essentiellement de votre installation Fedora la « racine » du système de fichiers pour les commandes que vous exécutez dans l'environnement « chroot ».
Dépannage :
* Le menu GRUB n'apparaît pas : Sur certains systèmes, le menu GRUB peut être masqué. Essayez d'appuyer à plusieurs reprises sur la touche « Esc » ou de maintenir la touche « Shift » enfoncée pendant le processus de démarrage. La clé spécifique à utiliser peut varier en fonction du micrologiciel de votre système.
* Panique du noyau : Si vous faites une erreur lors de la modification de l'entrée GRUB, le système risque de paniquer au démarrage. Si cela se produit, redémarrez et réessayez, en examinant attentivement les étapes.
* Autorisation refusée : Si vous obtenez des erreurs « Autorisation refusée » lorsque vous essayez de remonter le système de fichiers, vérifiez que vous avez tapé correctement la commande « mount ». Assurez-vous que vous exécutez les commandes en tant qu'utilisateur root (vous serez dans le shell après `rd.break` en tant qu'utilisateur root). Assurez-vous également d'utiliser `/sysroot` et pas seulement `/`.
* Problèmes SELinux : Si vous oubliez d'exécuter `touch /.autorelabel` après avoir réinitialisé le mot de passe, vous pourriez rencontrer des problèmes avec SELinux vous empêchant de vous connecter ou d'exécuter certaines commandes. Si cela se produit, redémarrez et interrompez à nouveau le processus de démarrage, ajoutez « enforcing=0 » à la ligne « linux », démarrez dans le shell, exécutez « touch /.autorelabel », puis redémarrez.
N'oubliez pas d'être prudent et de revérifier vos commandes, en particulier lorsque vous travaillez avec le système de fichiers racine. Bonne chance!
|