Betaalmethoden Abuse

Een wachtwoord resetten in Linux

19.05.2021, 22:32

Iedere gebruiker is wel eens wachtwoorden vergeten van websites of sociale netwerken die hij of zij lange tijd niet heeft gebruikt. Een vergelijkbare situatie kan zich voordoen met een Linux-distributie. Het is niet moeilijk om het te vergeten, vooral als er veel verschillende distributies zijn met verschillende wachtwoorden. Laten we het nu hebben over wat je moet doen als je je Linux-wachtwoord vergeten bent, hoe je het op de juiste manier kunt resetten en je gegevens niet kunt wissen. Een Linux-wachtwoord resetten is niet zo moeilijk. Maar het moet duidelijk zijn dat je je wachtwoord niet kunt achterhalen, je kunt het alleen resetten.

Wachtwoord resetten met LiveCD

Om het wachtwoord opnieuw in te stellen, moet je jezelf wapenen met een LiveCD-schijf met een willekeurige Linux-distributie, het is alleen belangrijk dat de bitcapaciteit van het te herstellen systeem overeenkomt met het systeem op de schijf. Het is het beste om de nieuwste versies van distributies te nemen. Deze zijn handiger om mee te werken, hoewel zelfs Gentoo en ArchLinux voldoen.

Start vervolgens op vanaf de LiveCD disc en open de terminal. Als de disc opstart in een commandoregel zonder grafische interface, dan is dat goed. Je moet weten op welke harde schijf het root bestandssysteem staat van de distributie die je gaat installeren. Je kunt alle beschikbare schijven bekijken met het commando:

$ fdisk -l

Een wachtwoord resetten in Linux

In de regel begint de schijfnaam met de letters sd voor gewone schijven en nvme voor M.2 SSD's. De rootpartitie is klein als er tijdens de installatie een aparte partitie is toegewezen voor de thuismap en deze een Linux-bestandssysteem heeft. Als er geen aparte partitie voor de bootloader is gemaakt, wordt de rootpartitie ook gemarkeerd met een sterretje als opstartbaar. Dit is bijvoorbeeld /dev/nvme0n1p1. Deze moet gemount worden op /mnt:

 $ mount /dev/nvme0n1p1 /mnt/

Een wachtwoord resetten in Linux

We zien dus /dev/nvme0n1p1 - de partitie waar het systeem werd geïnstalleerd. Het kan evengoed /dev/sda1 of /dev/sdb5 zijn. Ga dan naar de chroot omgeving:

$ chroot /mnt /bin/bash

Een wachtwoord resetten in Linux

We bevinden ons nu in de omgeving van de distributie die geïnstalleerd is op de gemounte schijf. Dit is zo'n variant van de herstelmodus zonder het besturingssysteem te starten.

Vervolgens kan de gebruiker het wachtwoord van de root linux gebruiker instellen met het commando passwd:

$ passwd root

Een wachtwoord resetten in Linux

Het kan zijn dat het hulpprogramma een foutmelding geeft, maar als het geen foutmelding gaf, is het wachtwoord succesvol bijgewerkt en kun je je systeem gebruiken.

Er is nog een manier. De wachtwoorden van alle gebruikers worden als volgt opgeslagen in het bestand /etc/shadow:

user_name:encrypted password:user_id:group id_id

Bijvoorbeeld:

root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::

Voor elke entry zijn alle parameters gescheiden door dubbele punten, de eerste parameter (root) is de gebruikersnaam, de tweede parameter (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) is de hash van het wachtwoord. Om het wachtwoord in het gewenste wachtwoord te veranderen, moet je eerst handmatig de hash ervan aanmaken. Om dit te doen, kunt u dit commando gebruiken:

$ openssl passwd -1 -salt xyz new_password

Een wachtwoord resetten in Linux

Plak het dan op de plaats van het vorige:

$ vi /etc/passwd

Een wachtwoord resetten in Linux

Het is niet mogelijk om het Linux-wachtwoord volledig te verwijderen, zonder het wachtwoord kun je jezelf niet autoriseren in het systeem, dus de beste optie is om het te vervangen door een nieuw wachtwoord. Sla na het vervangen de wijzigingen op en je bent klaar. Vergeet niet om chroot af te sluiten en de root van het systeem te unmounten voordat je opnieuw opstart:

$ exit
$ umount /mnt

Wachtwoord resetten met Grub

Als je geen schijf bij de hand hebt, kun je hiervoor Grub gebruiken. Druk in het menu met opstartopties op E om de kernelparameters te bewerken:

Een wachtwoord resetten in Linux

Hier in de regel vmlinuz in na alle parameters (zie screenshot) moet je de parameter init=/bin/bash toevoegen:

Een wachtwoord resetten in Linux

Druk op Ctrl+D om verder te gaan met booten. Nadat de initialisatie is voltooid, geeft de kernel de controle door aan het commando bash shell dat we in de kernelparameters hebben doorgegeven en waar je het wachtwoord kunt herstellen. Standaard is het bestandssysteem aangekoppeld in alleen-lezen modus, om iets te kunnen veranderen moet het opnieuw aangekoppeld worden om te kunnen schrijven:

$ exit

$ umount /mnt

Alle andere acties met het bestand /etc/shadow zijn vergelijkbaar met het eerste punt.