Het vinden van het rootwachtwoord op een Fedora systeem is geen eenvoudig proces, en er bestaat geen magisch commando om het te onthullen als je het vergeten bent. Dit is zo ontworpen, omdat het kennen van het root-wachtwoord volledige controle over het systeem geeft, en het toestaan van gemakkelijke toegang een groot beveiligingsprobleem zou zijn.
U kunt het rootwachtwoord echter *resetten*. Dit is de meest gebruikelijke en betrouwbare methode:
Grub en `chroot` gebruiken om het rootwachtwoord opnieuw in te stellen:
Deze methode werkt door op te starten in de modus voor één gebruiker, waardoor u toegang krijgt tot een shell waarin u het systeem kunt wijzigen zonder in te loggen als een gewone gebruiker.
1. Start je Fedora systeem opnieuw op.
2. Onderbreek het opstartproces. Tijdens het opstartproces moet u de standaard opstartinvoer onderbreken. Je zult het GRUB-opstartmenu zien verschijnen. Druk op een toets (zoals `Esc`, `Spatiebalk` of `e`) om het automatisch opstarten te stoppen. Het GRUB-menu geeft een overzicht van de beschikbare kernels.
3. Bewerk het GRUB-item. Selecteer in het GRUB-menu de kernel die je wilt opstarten (meestal de eerste). Druk op `e` om het geselecteerde item te bewerken. Dit opent een teksteditor binnen GRUB.
4. Zoek de regel `linux`. Zoek naar een regel die begint met `linux` of `linuxefi`. Deze regel bevat de kernelparameters. Meestal is het een lange rij.
5. Voeg `rd.break enforcing=0` toe aan het einde van de `linux` regel. Navigeer naar het einde van de `linux` regel (met behulp van de pijltjestoetsen) en voeg `rd.break enforcing=0` toe (inclusief een spatie vóór `rd.break`). Dit zorgt ervoor dat het opstartproces in een vroege shell terechtkomt *voordat* het rootbestandssysteem volledig is aangekoppeld. `enforcing=0` schakelt SELinux afdwinging tijdelijk uit, waardoor SELinux zich niet kan bemoeien met het opnieuw instellen van het wachtwoord. SELinux kan soms problemen veroorzaken bij het opnieuw instellen van het wachtwoord, dus het uitschakelen ervan tijdens het proces maakt het betrouwbaarder.
6. Druk op Ctrl+X of F10 om op te starten. Hierdoor wordt het opstartproces gestart met de gewijzigde parameters, waardoor u in een shell terechtkomt.
7. Hermonteer het rootbestandssysteem in de lees-schrijfmodus. Bij de `switch_root`-prompt (mogelijk ziet u alleen een `#`-prompt) wordt het rootbestandssysteem alleen-lezen aangekoppeld. U moet het opnieuw koppelen met lees-schrijfrechten:
``` bash
mount -o opnieuw koppelen,rw /sysroot
```
8. `chroot` in het systeem. Verander de hoofdmap naar je Fedora installatie:
``` bash
chroot /sysroot
```
9. Stel het rootwachtwoord opnieuw in. Nu opereer je binnen de rootomgeving van je Fedora systeem. Gebruik het commando `passwd` om het root-wachtwoord te wijzigen:
``` bash
wachtwoord
```
U wordt gevraagd het nieuwe wachtwoord tweemaal in te voeren.
10. Schakel SELinux in (als je het hebt uitgeschakeld). Als je SELinux hebt uitgeschakeld met `enforcing=0`, maak dan een leeg bestand aan om SELinux te vertellen het systeem opnieuw te labelen bij de volgende herstart. Dit is cruciaal voor het handhaven van de systeembeveiliging:
``` bash
raak /.autorelabel aan
```
11. Verlaat de `chroot` en start opnieuw op.
``` bash
Uitgang
Uitgang
opnieuw opstarten
```
De eerste `exit` haalt u uit de `chroot`-omgeving. De tweede 'exit' haalt je uit de oorspronkelijke shell. Met het commando `reboot` wordt het systeem opnieuw opgestart. Het automatische herlabelingsproces kan enige tijd duren. Wees geduldig.
12. Log in met het nieuwe root-wachtwoord. Na het opnieuw opstarten zou u zich als root moeten kunnen aanmelden met het nieuwe wachtwoord dat u hebt ingesteld.
Belangrijke overwegingen:
* Beveiliging: Met deze methode kan iedereen met fysieke toegang tot de machine het rootwachtwoord opnieuw instellen. Bescherm uw systeem dienovereenkomstig. Overweeg om opstartwachtwoordbeveiliging in te schakelen in uw BIOS- of UEFI-instellingen.
* SELinux: Het wordt *sterk* aanbevolen om SELinux opnieuw in te schakelen na het resetten van het wachtwoord. SELinux biedt een kritische beveiligingslaag voor Fedora.
* Alternatieven: Als je een ander gebruikersaccount hebt met `sudo`-rechten, kun je `sudo passwd root` gebruiken om het root-wachtwoord opnieuw in te stellen zonder dat je het GRUB-proces hoeft te doorlopen. Als u over een geschikt account beschikt, heeft dit de voorkeur.
* Herstelmodus: Sommige Fedora-installaties bieden mogelijk een herstelmodusoptie in het GRUB-menu. Deze modus biedt vaak rechtstreeks een rootshell, waardoor het proces voor het opnieuw instellen van het wachtwoord wordt vereenvoudigd.
* Virtuele machines: Als u een virtuele machine gebruikt, kunt u mogelijk opstarten vanaf een live-CD/ISO en de virtuele schijf koppelen om het wachtwoord opnieuw in te stellen.
Waarom deze methode werkt:
* `rd.break`: Deze kernelparameter vertelt de initramfs (het initiële RAM-bestandssysteem) om je vroeg in het opstartproces in een shell te plaatsen, *voordat* het systeem volledig is geïnitialiseerd. Hierdoor kunt u wijzigingen aanbrengen in het rootbestandssysteem voordat de systeemservices starten.
* `chroot`: Het `chroot` commando verandert de hoofdmap voor het huidige proces en al zijn onderliggende processen. Dit maakt je Fedora installatie feitelijk de "root" van het bestandssysteem voor de commando's die je uitvoert binnen de `chroot` omgeving.
Problemen oplossen:
* GRUB-menu verschijnt niet: Op sommige systemen is het GRUB-menu mogelijk verborgen. Probeer herhaaldelijk op de 'Esc'-toets te drukken of de 'Shift'-toets ingedrukt te houden tijdens het opstartproces. Welke specifieke sleutel u moet gebruiken, kan variëren, afhankelijk van de firmware van uw systeem.
* Kernelpaniek: Als je een fout maakt tijdens het bewerken van het GRUB-item, kan het systeem tijdens het opstarten in paniek raken. Als dit gebeurt, start u het apparaat opnieuw op en probeert u het opnieuw, waarbij u de stappen zorgvuldig doorneemt.
* Toestemming geweigerd: Als u de foutmelding "Permission Denied" krijgt wanneer u probeert het bestandssysteem opnieuw te koppelen, controleer dan nogmaals of u de opdracht `mount` correct heeft getypt. Zorg ervoor dat u de opdrachten als root uitvoert (na `rd.break` bevindt u zich in de shell als rootgebruiker). Zorg er ook voor dat u `/sysroot` gebruikt en niet alleen `/`.
* SELinux-problemen: Als u vergeet `touch /.autorelabel` uit te voeren nadat u het wachtwoord opnieuw hebt ingesteld, kunt u problemen tegenkomen met SELinux waardoor u niet kunt inloggen of bepaalde opdrachten kunt uitvoeren. Als dit gebeurt, start dan opnieuw op en onderbreek het opstartproces opnieuw, voeg `enforcing=0` toe aan de `linux`-regel, start op in de shell, voer `touch /.autorelabel` uit en start vervolgens opnieuw op.
Vergeet niet om voorzichtig te zijn en uw opdrachten nogmaals te controleren, vooral als u met het rootbestandssysteem werkt. Succes! |