Pataisykite „Sudoers faile nėra vartotojo vardo“. Apie šį incidentą bus pranešta


„Unix“/„Linux“ sistemose root vartotojo abonementas yra super vartotojo abonementas, todėl juo galima atlikti bet ką ir viską, kas įmanoma sistemoje.

Tačiau tai gali būti labai pavojinga daugeliu atžvilgių – gali būti, kad root vartotojas gali įvesti neteisingą komandą ir sugadinti visą sistemą arba užpuolikas gali gauti prieigą prie root vartotojo abonemento ir perimti valdymą. visos sistemos ir kas žino, ką gali padaryti.

Atsižvelgiant į tai, Ubuntu ir Ubuntu išvestinėse programose root vartotojo abonementas yra užrakintas pagal numatytuosius nustatymus, o įprasti vartotojai (sistemos administratoriai ar ne) gali įgyti supervartotojo teises tik naudodami sudo komanda.

Ir vienas iš blogiausių dalykų, kurie gali nutikti Ubuntu sistemos administratoriui, yra prarasti privilegijas naudoti komandą sudo – situacija paprastai vadinama „sugedusiu sudo“. Tai gali būti visiškai pražūtinga.

Neveikiantį sudo gali sukelti bet kuri iš šių priežasčių:

  • Naudotojas neturėjo būti pašalintas iš sudo arba admin grupės.
  • Failas /etc/sudoers buvo pakeistas, kad sudo arba admin grupės naudotojai negalėtų padidinti savo privilegijų iki root<. naudodami komandą sudo.
  • Failo /etc/sudoers leidimas nenustatytas į 0440.

Norint atlikti svarbiausias užduotis sistemoje, pvz., peržiūrėti ar keisti svarbius sistemos failus arba atnaujinti sistemą, jums reikia komandos sudo, kad įgytumėte supervartotojo teises. Ką daryti, jei jums neleidžiama naudoti sudo dėl vienos ar daugiau anksčiau paminėtų priežasčių.

Toliau pateikiamas vaizdas, kuriame parodytas atvejis, kai numatytajam sistemos vartotojui neleidžiama vykdyti komandos sudo:

tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Kaip pataisyti sugedusią sudo komandą Ubuntu

Jei kompiuteryje naudojate tik Ubuntu, įjungę jį, kelias sekundes paspauskite Shift klavišą, kad būtų paleista Grub Meniu. Kita vertus, jei naudojate dvigubą įkrovą (Ubuntu kartu su Windows arba Mac OS X), pagal numatytuosius nustatymus turėtumėte matyti Grub įkrovos meniu.

Naudodami rodyklę žemyn pasirinkite Ubuntu išplėstinės parinktys ir paspauskite Enter.

Būsite toliau pateiktoje sąsajoje, pasirinkite branduolį su parinktimi atkūrimo režimas, kaip nurodyta toliau, ir paspauskite Enter, kad pereitumėte į Atkūrimo meniu > “.

Žemiau yra „Atkūrimo meniu“, nurodantis, kad šakninė failų sistema yra prijungta kaip tik skaitoma. Pereikite prie eilutės „root Drop to root shell prompt“, tada paspauskite Enter.

Tada paspauskite Enter, kad atliktumėte techninę priežiūrą:

Šiuo metu turėtumėte būti root apvalkalo raginime. Kaip matėme anksčiau, failų sistema montuojama kaip tik skaitoma, todėl norint atlikti sistemos pakeitimus, kuriuos turime iš naujo prijungti, paleidžiant toliau pateiktą komandą, reikia skaityti/rašyti:

mount -o rw,remount /

1 atvejo sprendimas – pridėkite vartotoją prie sudo arba administratoriaus grupės

Darant prielaidą, kad vartotojas buvo pašalintas iš sudo grupės, norėdami pridėti vartotoją atgal į sudo grupę, išduokite toliau pateiktą komandą:

adduser username sudo

Pastaba: nepamirškite sistemoje naudoti tikrojo vartotojo vardo, mano atveju jis yra aaronkilik.

Arba, jei vartotojas buvo pašalintas iš administratoriaus grupės, paleiskite šią komandą:

adduser username admin

2 atvejo sprendimas – sudo privilegijų suteikimas vartotojams

Darant prielaidą, kad failas /etc/sudoers buvo pakeistas, kad sudo arba admin grupės naudotojai negalėtų padidinti savo privilegijų iki super vartotojas, tada sukurkite sudoers failų atsarginę kopiją taip:

cp /etc/sudoers /etc/sudoers.orginal

Tada atidarykite sudoers failą.

visudo

ir pridėkite turinį žemiau:

#
This file MUST be edited with the 'visudo' command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$

Host alias specification

User alias specification

Cmnd alias specification

User privilege specification
root    ALL=(ALL:ALL) ALL

Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

3 atvejo sprendimas – teisingo leidimo sudoers faile nustatymas

Tarkime, kad leidimas faile /etc/sudoers nenustatytas į 0440, tada paleiskite šią komandą, kad ją pakeistumėte:

chmod  0440  /etc/sudoers

Paskutinis, bet ne mažiau svarbus dalykas – paleidę visas reikalingas komandas, įveskite komandą exit, kad grįžtumėte į Atkūrimo meniu:

exit 

Naudodami rodyklę dešinėn pasirinkite ir paspauskite Enter:

Norėdami tęsti įprastą įkrovos seką, paspauskite <ok>:

Santrauka

Šis metodas turėtų veikti puikiai, ypač kai tai susiję su administracine vartotojo paskyra, kur nėra kitos išeities, kaip tik naudoti atkūrimo režimą.

Tačiau, jei tai jums nepadeda, pabandykite susisiekti su mumis išreikšdami savo patirtį toliau pateiktoje atsiliepimų skiltyje. Taip pat galite pasiūlyti bet kokius pasiūlymus ar kitus galimus būdus, kaip išspręsti šią problemą arba visiškai patobulinti šį vadovą.