Alle brugere har mindst én gang glemt adgangskoder til hjemmesider eller sociale netværk, som de ikke har brugt i lang tid. En lignende situation kan ske med en Linux-distribution. Det er ikke svært at glemme det, især ikke hvis der er mange forskellige distributioner med forskellige adgangskoder. Lad os nu tale om, hvad du skal gøre, hvis du har glemt din Linux-adgangskode, hvordan du nulstiller den korrekt og ikke sletter dine data. At nulstille en Linux-adgangskode er ikke en særlig vanskelig opgave. Men det skal gøres klart, at du ikke kan finde ud af din adgangskode, du kan kun nulstille den.
For at nulstille adgangskoden skal du bevæbne dig med en LiveCD-disk med en hvilken som helst Linux-distribution, det er kun vigtigt at matche bitkapaciteten på det system, der skal gendannes, og systemet på disken. Det er bedst at tage de nyeste versioner af distributioner. De er mere praktiske at arbejde med, men selv Gentoo og ArchLinux kan bruges.
Start derefter op fra LiveCD-disken, og åbn terminalen. Hvis disken starter op i en kommandoshell uden en grafisk brugerflade, er det okay. Du skal vide, på hvilken harddisk rodfilsystemet for den distribution, du vil installere, er placeret. Du kan se alle tilgængelige diske med kommandoen:
$ fdisk -l
Som regel starter disknavnet med bogstaverne sd for almindelige diske og nvme for M.2 SSD'er. Rodpartitionen er lille, hvis der blev tildelt en separat partition til hjemmemappen under installationen, og den har et Linux-filsystem. Hvis der ikke blev lavet en separat partition til bootloaderen, vil rodpartitionen også være markeret med en stjerne som bootbar. Det er for eksempel /dev/nvme0n1p1
. Den bør være monteret på /mnt
:
$ mount /dev/nvme0n1p1 /mnt/
Så vi kan se /dev/nvme0n1p1 - den partition, hvor systemet blev installeret. Det kunne lige så godt være /dev/sda1
eller /dev/sdb5
. Gå derefter ind i chroot-miljøet:
$ chroot /mnt /bin/bash
Vi befinder os nu i miljøet for den distribution, der er installeret på den monterede disk. Dette er sådan en variant af gendannelsestilstand uden at starte operativsystemet.
Dernæst kan brugeren indstille adgangskoden til root-linux-brugeren ved hjælp af kommandoen passwd
:
$ passwd root
Det kan være, at værktøjet giver en fejl, men hvis det ikke giver nogen fejl, er adgangskoden blevet opdateret, og du kan bruge dit system.
Der er endnu en måde. Alle brugeres adgangskoder gemmes i filen /etc/shadow
på denne måde:
user_name:encrypted password:user_id:group id_id
For eksempel:
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::
For hver post er alle parametre adskilt af kolon, den første parameter (root) er brugernavnet, den anden parameter (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) er password-hash. Hvis du vil ændre adgangskoden til den ønskede, skal du først manuelt oprette dens hash. For at gøre det kan du bruge denne kommando:
$ openssl passwd -1 -salt xyz new_password
Indsæt den derefter i stedet for den forrige:
$ vi /etc/passwd
Det er ikke muligt at fjerne Linux-adgangskoden helt, for uden adgangskoden kan du ikke autorisere dig selv i systemet, så den bedste løsning er at erstatte den med en ny. Når du har udskiftet det, skal du gemme ændringerne, og så er du færdig. Inden du genstarter, skal du huske at afslutte chroot og afmontere systemets rod:
$ exit
$ umount /mnt
Hvis du ikke har en disk ved hånden, kan du bruge Grub til dette formål. I menuen boot options skal du trykke på E for at redigere kerneparametrene:
Her i linjen vmlinuz efter alle parametre (se skærmbillede) skal du tilføje parameteren init=/bin/bash
:
Tryk på Ctrl+D
for at fortsætte opstarten. Når initialiseringen er færdig, giver kernen kontrollen videre til kommandoen bash shell, som vi gav i kerneparametrene, hvor du kan gendanne adgangskoden. Som standard er filsystemet monteret i skrivebeskyttet tilstand, så for at kunne ændre noget skal du genmontere det til skrivning:
$ exit
$ umount /mnt
Alle andre handlinger med /etc/shadow-filen
svarer til det første punkt.