Popravite 'Korisničko ime nije u Sudoers datoteci. Ovaj incident će biti prijavljen


U Unix/Linux sistemima, root korisnički nalog je super korisnički nalog, i stoga se može koristiti za sve što je moguće postići na sistemu.

Međutim, ovo može biti vrlo opasno na mnogo načina – jedan može biti da root korisnik može unijeti pogrešnu komandu i razbiti cijeli sistem ili napadač može dobiti pristup root korisničkom računu i preuzeti kontrolu čitavog sistema i ko zna šta on/ona može.

Na osnovu ove pozadine, u Ubuntu i Ubuntu derivatima, root korisnički račun je zaključan prema zadanim postavkama, redovni korisnici (sistemski administratori ili ne) mogu dobiti privilegije superkorisnika samo korištenjem sudo komanda.

A jedna od najgorih stvari koja se može dogoditi administratoru Ubuntu sistema je gubitak privilegija za korištenje naredbe sudo, situacija koja se obično naziva “pokvaren sudo”. Ovo može biti apsolutno poražavajuće.

Pokvareni sudo može biti uzrokovan bilo čim od sljedećeg:

  • Korisnik nije trebao biti uklonjen iz grupe sudo ili admin.
  • Datoteka /etc/sudoers je izmijenjena kako bi se spriječilo korisnike u grupi sudo ili admin da svoje privilegije podignu na privilegije root< pomoću naredbe sudo.
  • Dozvola za datoteku /etc/sudoers nije postavljena na 0440.

Da biste izvršili ključne zadatke na vašem sistemu, kao što su pregled ili izmjena važnih sistemskih datoteka ili ažuriranje sistema, potrebna vam je naredba sudo da biste dobili privilegije superkorisnika. Šta ako vam je uskraćeno korištenje sudo zbog jednog ili više razloga koje smo spomenuli gore.

Ispod je slika koja prikazuje slučaj u kojem je zadanom korisniku sistema onemogućeno da pokrene naredbu 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čunaru, nakon što ga uključite, pritisnite tipku Shift nekoliko sekundi da pokrenete Grub meni. S druge strane, ako koristite dual-boot (Ubuntu uz Windows ili Mac OS X), tada biste trebali vidjeti Grub meni za pokretanje prema zadanim postavkama.

Koristeći strelicu dolje, odaberite “Napredne opcije za Ubuntu” i pritisnite Enter.

Bićete na interfejsu ispod, izaberite kernel sa opcijom “Recovery mode” kao u nastavku i pritisnite Enter da pređete na “Meni za oporavak > ”.

Ispod je “Meni za oporavak”, koji pokazuje da je korijenski sistem datoteka montiran samo za čitanje. Pređite na red “root Ispusti u root shell prompt”, a zatim pritisnite Enter.

Zatim pritisnite Enter za održavanje:

U ovom trenutku, trebali biste biti u root shell promptu. Kao što smo ranije vidjeli, datotečni sistem je montiran samo za čitanje, stoga, da bismo izvršili promjene na sistemu koje trebamo ponovo montirati je čitanje/pisanje pokretanjem naredbe ispod:

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, da biste dodali korisnika nazad u sudo grupu, izdajte naredbu ispod:

adduser username sudo

Napomena: Ne zaboravite da koristite stvarno korisničko ime na sistemu, u mom slučaju to je aaronkilik.

Ili, pod uslovom da je korisnik uklonjen iz admin grupe, pokrenite sljedeću naredbu:

adduser username admin

Rješavanje slučaja #2 – Davanje privilegija sudo korisnicima

Pod pretpostavkom da je datoteka /etc/sudoers izmijenjena kako bi se spriječilo korisnike u grupi sudo ili admin da podignu svoje privilegije na privilegije super korisnik, a zatim napravite sigurnosnu kopiju sudoers fajlova 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 sudoers datoteku

Pod pretpostavkom da dozvola za datoteku /etc/sudoers nije postavljena na 0440, tada pokrenite sljedeću naredbu da ispravite:

chmod  0440  /etc/sudoers

Na kraju, ali ne i najmanje važno, nakon što pokrenete sve potrebne komande, upišite naredbu exit da biste se vratili na “Meni za oporavak”:

exit 

Koristite Strelicu udesno da odaberete i pritisnite Enter:

Pritisnite da nastavite s normalnim nizom pokretanja:

Sažetak

Ova metoda bi trebala funkcionirati sasvim dobro, posebno kada je u pitanju administrativni korisnički račun, gdje nema druge opcije osim korištenja načina oporavka.

Međutim, ako vam ne uspije, pokušajte nam se javiti tako što ćete izraziti 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 u potpunosti poboljšati ovaj vodič.