Kiekvienas naudotojas bent kartą yra pamiršęs svetainių, socialinių tinklų, kuriais ilgą laiką nesinaudojo, slaptažodžius. Panaši situacija gali nutikti ir su "Linux" distribucija. Jį pamiršti nesunku, ypač jei yra daug skirtingų distribucijų su skirtingais slaptažodžiais. Toliau pakalbėkime apie tai, ką daryti, jei pamiršote "Linux" slaptažodį, kaip jį teisingai atkurti ir neištrinti savo duomenų. Atkurti "Linux" slaptažodį nėra labai sudėtinga užduotis. Tačiau reikėtų paaiškinti, kad slaptažodžio sužinoti negalite, galite jį tik iš naujo nustatyti.
Norėdami iš naujo nustatyti slaptažodį, turite apsiginkluoti LiveCD disku su bet kuriuo "Linux" distributyvu, tik svarbu, kad sutaptų atkuriamos sistemos ir diske esančios sistemos bitų talpa. Geriausia imti naujausias distribucijų versijas. Su jomis patogiau dirbti, nors tiks ir "Gentoo" bei "ArchLinux".
Tada paleiskite kompiuterį iš "LiveCD" disko ir atidarykite terminalą. Jei diskas įkraunamas į komandų apvalkalą be grafinės sąsajos, nieko baisaus. Turite žinoti, kuriame standžiajame diske yra diegiamo distributyvo šakninė failų sistema. Visus turimus diskus galite peržiūrėti komanda:
$ fdisk -l
Paprastai įprastų diskų disko pavadinimas prasideda raidėmis sd, o M.2 SSD diskų - nvme. Šakninis skirsnis yra nedidelis, jei diegiant buvo skirtas atskiras skirsnis namų aplankui ir jame yra "Linux" failų sistema. Jei nebuvo sukurtas atskiras skirsnis įkrovikliui, šakninis skirsnis taip pat bus pažymėtas žvaigždute kaip įkrovos skirsnis. Pavyzdžiui, tai yra /dev/nvme0n1p1
. Jis turėtų būti prijungtas prie /mnt
:
$ mount /dev/nvme0n1p1 /mnt/
Taigi matome /dev/nvme0n1p1 - skirsnį, kuriame buvo įdiegta sistema. Tai gali būti ir /dev/sda1
arba /dev/sdb5
. Tada įveskite chroot aplinką:
$ chroot /mnt /bin/bash
Dabar atsidūrėme distribucijos, įdiegtos prijungtame diske, aplinkoje. Tai toks atkūrimo režimo variantas nepaleidžiant operacinės sistemos.
Toliau naudotojas gali nustatyti root linux naudotojo slaptažodį naudodamas komandą passwd
:
$ passwd root
Gali būti, kad programa pateiks klaidą, bet jei ji nepateikė jokios klaidos, vadinasi, slaptažodis sėkmingai atnaujintas ir galite naudotis sistema.
Yra dar vienas būdas. Visų naudotojų slaptažodžiai saugomi /etc/shadow
faile taip:
user_name:encrypted password:user_id:group id_id
Pavyzdžiui, pvz:
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:0:0:::::
bin:!!:9797:0:::::
daemon:!!:9797:0:::::
For each entry, all parameters are separated by colons, the first parameter (root) is the username, the second parameter (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...) is the password hash. Norėdami pakeisti slaptažodį į norimą, pirmiausia turite rankiniu būdu sukurti jo hash. Tam galite naudoti šią komandą:
$ openssl passwd -1 -salt xyz new_password
Tada įklijuokite jį vietoj ankstesnio:
$ vi /etc/passwd
Visiškai pašalinti "Linux" slaptažodžio neįmanoma, be slaptažodžio negalėsite autorizuotis sistemoje, todėl geriausia jį pakeisti nauju. Pakeitę jį, išsaugokite pakeitimus ir viskas baigta. Prieš perkraudami nepamirškite išeiti iš chroot ir atjungti sistemos šakninę šaknį:
$ exit
$ umount /mnt
Jei po ranka neturite disko, šiam tikslui galite naudoti "Grub". Įkrovos parinkčių meniu paspauskite E, kad galėtumėte redaguoti branduolio parametrus:
Čia eilutėje vmlinuz po visų parametrų (žr. ekrano nuotrauką) reikia įrašyti parametrą init=/bin/bash
:
Paspauskite Ctrl+D
, kad tęstumėte įkrovą. Baigus inicializaciją, branduolys perduos valdymą bash apvalkalo komandai, kurią perdavėme branduolio parametruose ir kurioje galima atkurti slaptažodį. Pagal numatytuosius nustatymus failų sistema prijungta tik skaitymo režimu, kad galėtumėte ką nors keisti, turite ją iš naujo prijungti rašymui:
$ exit
$ umount /mnt
Visi kiti veiksmai su /etc/shadow
failu yra panašūs į pirmojo punkto veiksmus.