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č.