Popravite 'Korisničko ime nije u Sudoers datoteci. Ovaj incident će biti prijavljen
U Unix/Linux sustavima, root korisnički račun je super korisnički račun, i stoga se može koristiti za obavljanje bilo čega što je moguće na sustavu.
Međutim, ovo može biti vrlo opasno na mnogo načina – jedan bi mogao biti da bi root korisnik mogao unijeti pogrešnu naredbu i pokvariti cijeli sustav ili bi napadač mogao dobiti pristup root korisničkom računu i preuzeti kontrolu cijelog sustava i tko zna što on/ona može učiniti.
Na temelju ove pozadine, u Ubuntu i Ubuntu izvedenicama, root korisnički račun zaključan je prema zadanim postavkama, obični korisnici (administratori sustava ili ne) mogu dobiti privilegije superkorisnika samo korištenjem naredba sudo.
A jedna od najgorih stvari koja se može dogoditi administratoru Ubuntu sustava je gubitak privilegija za korištenje naredbe sudo, situacija koja se obično naziva “pokvaren sudo”. Ovo može biti apsolutno razorno.
Neispravan sudo može biti uzrokovan bilo čim od sljedećeg:
- Korisnik nije trebao biti uklonjen iz grupe sudo ili admin.
- Datoteka /etc/sudoers je promijenjena kako bi se spriječilo korisnike u sudo ili admin grupi da podignu svoje privilegije na root< pomoću naredbe sudo.
- Dozvola za datoteku /etc/sudoers nije postavljena na 0440.
Kako biste izvršili ključne zadatke na vašem sustavu, kao što je pregledavanje ili mijenjanje važnih sistemskih datoteka ili ažuriranje sustava, potrebna vam je naredba sudo za dobivanje privilegija superkorisnika. Što ako vam je uskraćena upotreba sudo zbog jednog ili više razloga koje smo gore spomenuli.
Ispod je slika koja prikazuje slučaj u kojem je zadani korisnik sustava spriječen u pokretanju naredbe 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.
Kako popraviti pokvarenu naredbu sudo u Ubuntuu
Ako slučajno koristite samo Ubuntu na svom računalu, nakon što ga uključite, pritisnite tipku Shift
nekoliko sekundi da pokrenete Grub Jelovnik. S druge strane, ako koristite dual-boot (Ubuntu uz Windows ili Mac OS X), trebali biste vidjeti Grub boot izbornik prema zadanim postavkama.
Pomoću strelice prema dolje
odaberite “Napredne opcije za Ubuntu” i pritisnite Enter.
Bit ćete na donjem sučelju, odaberite kernel s opcijom “način oporavka” kao u nastavku i pritisnite Enter da prijeđete na “izbornik za oporavak ”.
Ispod je “Izbornik za oporavak”, koji pokazuje da je korijenski datotečni sustav montiran kao samo za čitanje. Prijeđite na redak “root Drop to root shell prompt”, zatim pritisnite Enter.
Zatim pritisnite Enter za održavanje:
U ovom trenutku trebali biste biti na odzivniku root ljuske. Kao što smo vidjeli prije, datotečni sustav je montiran kao samo za čitanje, stoga, da bismo izvršili promjene u sustavu moramo ponovo montirati kao čitanje/pisanje pokretanjem naredbe u nastavku:
mount -o rw,remount /
Rješavanje slučaja #1 – Dodajte korisnika u sudo ili admin grupu
Pod pretpostavkom da je korisnik uklonjen iz sudo grupe, za ponovno dodavanje korisnika u sudo grupu izdajte naredbu u nastavku:
adduser username sudo
Napomena: Ne zaboravite koristiti stvarno korisničko ime na sustavu, u mom slučaju to je aaronkilik.
Ili, pod uvjetom da je korisnik uklonjen iz admin grupe, pokrenite sljedeću naredbu:
adduser username admin
Rješavanje slučaja #2 – Dodjela sudo privilegija korisnicima
Pod pretpostavkom da je datoteka /etc/sudoers
promijenjena kako bi se spriječilo korisnike u sudo ili admin grupi da podignu svoje privilegije na one super korisnik, zatim napravite sigurnosnu kopiju sudoers datoteka na sljedeći način:
cp /etc/sudoers /etc/sudoers.orginal
Nakon toga otvorite datoteku sudoers.
visudo
i dodajte sadržaj ispod:
#
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
Rješavanje slučaja #3 – Postavljanje ispravne dozvole za datoteku sudoers
Pretpostavimo da dopuštenje za datoteku /etc/sudoers nije postavljeno na 0440, tada pokrenite sljedeću naredbu da to ispravite:
chmod 0440 /etc/sudoers
Posljednje, ali ne i najmanje važno, nakon pokretanja svih potrebnih naredbi, upišite naredbu exit
za povratak na “izbornik za oporavak”:
exit
Koristite desnu strelicu
za odabir
i pritisnite Enter:
Pritisnite
za nastavak normalnog slijeda pokretanja:
Sažetak
Ova bi metoda trebala dobro funkcionirati, posebno kada je u pitanju administrativni korisnički račun, gdje nema druge opcije nego koristiti način oporavka.
Međutim, ako vam ne uspije, pokušajte nam se vratiti izražavajući svoje iskustvo putem odjeljka za povratne informacije u nastavku. Također možete ponuditi bilo kakve prijedloge ili druge moguće načine za rješavanje problema ili potpuno poboljšati ovaj vodič.