[Explained] Како додати кориснике у Судоерс у Убунту-у

Pre nego što se upustimo u proces dodavanja korisnika sa sudo ovlašćenjima na Ubuntu operativnom sistemu, važno je razumeti kako se uopšte dolazi do potrebe za tim. Na primer, kada imate potrebu da upravljate sistemskim servisima ili da instalirate, odnosno ažurirate softver na Ubuntu-u, često se susrećemo sa situacijom gde, prilikom izvršavanja komandi, dobijamo povratnu informaciju „Pristup odbijen“.

U takvim slučajevima, neophodno je pokretanje komandi sa administratorskim, odnosno root privilegijama. Međutim, ovaj pristup nije preporučljiv iz bezbednosnih razloga. Izvršavanje komandi sa root nalogom nosi rizik od neželjenih posledica po vaš sistem, ukoliko korisnik pogreši prilikom konfigurisanja.

Ubuntu, kao jedna od najpopularnijih Linux distribucija, poseduje mehanizam pod nazivom `sudo`, koji omogućava korisniku da izvršava komande sa povišenim privilegijama, bez potrebe za prijavljivanjem kao root korisnik.

U ovom članku detaljno ćemo objasniti ko su to sudo korisnici, koji su razlozi za njihovo postojanje, kao i kako ih dodati u vaš Ubuntu operativni sistem.

Šta je Sudo/Sudoers?

Možda se pitate zašto ne koristiti komandu `su` ili `switch user`? Komanda `switch user` vam omogućava direktnu prijavu kao root korisnik. Nakon njenog izvršavanja, sistem će zahtevati root lozinku, nakon čega možete vršiti željene operacije. Možete dodavati nove fajlove/softver i menjati sistemska podešavanja. Međutim, lako se može dogoditi da zaboravite da se odjavite kao root, a jedan pogrešan unos može dovesti do brisanja važnih fajlova ili čak celog hard diska.

Sudo je skraćena verzija za „superuser do“. Korisnici sa sudo pravima izvršavaju komande sa povišenim privilegijama i mogu instalirati i ažurirati softver ili menjati sistemska podešavanja. Sudoer je korisnik koji poseduje takva prava. Sudo korisnici uvek moraju koristiti ključnu reč ‘sudo’ pre svake komande koju izvršavaju na Ubuntu sistemu. Pozitivna strana je da se ne morate odjavljivati nakon izvršenja komandi.

Ukoliko imate više korisnika na vašem Ubuntu sistemu, neće svi automatski imati sudo prava. Tokom inicijalne instalacije sistema, prvi kreirani korisnik dobija podrazumevane sudo privilegije. Samo korisnici koji su navedeni u `sudoers` datoteci ili grupi mogu koristiti `sudo` komandu.

  • Datoteka sudoers – konfiguraciona datoteka koja definiše koji korisnici imaju pravo da koriste sudo i pod kojim uslovima.
  • Sudoers grupa – posebna grupa korisnika kojima su dodeljena sudo prava.

Situacije kada je potrebno odobriti sudo pristup korisnicima

Dozvolu za korišćenje sudo komandi možete dodeliti određenim korisnicima na vašem ličnom ili poslovnom računaru. Ovo je posebno korisno u sledećim situacijama:

  • Ukoliko imate tim administratora ili programera koji moraju da obavljaju zadatke za koje je neophodan root pristup. Na primer, instalacija novog softvera ili ažuriranje sistema.
  • Ako želite da ograničite pristup korisnika samo na određene datoteke ili direktorijume unutar sistema, umesto da im date potpuni pristup.
  • Kada imate gosta korisnika koji treba da izvrši jednokratan zadatak sa root privilegijama. Na primer, instalacija i konfiguracija specifičnog softvera ili ažuriranje sistema.

Značaj dodeljivanja sudo privilegija korisnicima

  • Povećanje bezbednosti sistema: Ne morate dozvoliti korisnicima da se prijavljuju na sistem kao root, čime se smanjuje rizik od potencijalnih pretnji i grešaka. Dodeljivanje sudo privilegija omogućava pristup samo onome što je zaista potrebno.
  • Mogućnost prilagođavanja dozvola: Dodavanjem sudo korisnika možete definisati koje komande mogu da izvršavaju i u kojim vremenskim intervalima. Takođe, možete definisati da li je za izvršavanje komandi neophodna lozinka.
  • Lakše praćenje aktivnosti korisnika: Možete pratiti sve komande koje sudo korisnici izvršavaju na vašem sistemu, koristeći datoteku `/var/log/auth.log`.

Preduslovi za dodavanje korisnika u sudoers datoteku

  • Korisnički nalog sa sudo privilegijama: Za dodavanje novog korisnika u sudoers, neophodno je da budete prijavljeni na sistem sa nalogom koji već poseduje sudo prava.
  • Korisničko ime: Ukoliko na sistemu postoji više korisnika, morate znati korisničko ime onoga koga želite da dodate u sudoers datoteku ili grupu.
  • Tekst editor: Ubuntu koristi Nano kao podrazumevani editor teksta, ali možete koristiti i druge editore po želji.

Dodavanje korisnika u sudoers datoteku

Postoji nekoliko načina za dodavanje korisnika u sudoers. Pre toga, potrebno je kreirati novog korisnika.

Za demonstraciju ćemo kreirati novog korisnika pod imenom ‘titus’. Pratite sledeće korake:

  • Prijavite se na korisnički nalog sa sudo privilegijama i izvršite sledeću komandu: `sudo adduser titus`. Umesto ‘titus’ možete uneti željeno korisničko ime.

  • Unesite lozinku. Sistem će zahtevati vašu trenutnu lozinku.
  • Postavite novu lozinku za novokreiranog korisnika, a zatim je potvrdite.

  • Pratite uputstva (možete koristiti podrazumevane vrednosti) i potvrdite sve detalje klikom na ‘Y’.

Sada imate novog korisnika.

Postoje dva načina za dodavanje sudoera u Ubuntu:

#1: Dodavanje korisnika u sudo grupu

Sada, kreiranog korisnika možemo dodati u sudo grupu. Izvršite sledeću komandu dok ste prijavljeni kao drugi sudo korisnik ili root korisnik:

sudo usermod -aG sudo username

Zamenite ‘username’ sa korisničkim imenom koje želite da dodelite sudo prava. U našem slučaju, komanda će biti:

sudo usermod -aG sudo titus

Sada ste uspešno dodali novog korisnika u sudo grupu.

#2: Dodavanje korisnika u Sudoers datoteku

Kao što je ranije napomenuto, Linux sistemi poput Ubuntu-a imaju različite korisnike. Tim korisnicima mogu biti dodeljene različite dozvole za pristup fajlovima i direktorijumima. Na primer, možete dozvoliti korisnicima da `čitaju`, `pišu` ili `izvršavaju` fajlove na sistemu.

Možemo definisati koji korisnici mogu koristiti sudo i pod kojim uslovima, u `sudoers` datoteci. Putanja do ove datoteke je `/etc/sudoers`.

Pretpostavimo da imate korisnika koji još nema sudo prava. Sledite ove korake:

  • Otvorite terminal.
  • Koristite sledeću komandu da otvorite datoteku:
sudo visudo

Biće zatraženo da unesete svoju lozinku.

  • Izmenite datoteku. Nakon izvršavanja komande, prikazaće se sadržaj datoteke sličan sledećem:

Pretpostavimo da želimo da korisniku sa imenom ‘kamunya’ damo sva sudo prava.

Potražite odeljak koji izgleda ovako:

# User privilege specification

root    ALL=(ALL:ALL) ALL

Sada dodajte red koji će korisniku ‘kamunya’ omogućiti sva sudo prava na sledeći način:

kamunya    ALL=(ALL:ALL) ALL
  • Sačuvajte i zatvorite datoteku. Koristite prečice: Ctrl+O za čuvanje promena i Ctrl+X za izlaz.

Sada imate novog sudo korisnika, dodanog putem `sudoers` datoteke. Ako biste želeli da dodelite specifična prava, kao što je ažuriranje softvera bez potrebe za lozinkom, koristite sledeći red:

kamunya ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt-get update, /usr/bin/apt-get upgrade

Kako proveriti da li korisnik ima sudo prava

Možda ste pratili sve prethodne korake, ali niste sigurni da li korisnici na sistemu imaju sudo privilegije. Možete koristiti sledeće metode za proveru:

Korišćenje sudo komande

Proverićemo da li korisnik ‘titus’ ima sudo prava. Komanda će biti:

sudo -l -U titus

Zamenite ‘titus’ sa korisničkim imenom koje želite da proverite.

Ako korisnik ima sudo prava, dobićete prikaz sličan sledećem:

Ukoliko korisnik nema sudo prava, dobićete grešku koja govori da korisniku ‘username’ nije dozvoljeno izvršavanje sudo komandi.

Provera sudo grupa

Kada kreirate sudo korisnika, sistem automatski dodeljuje tog korisnika grupi koja ima njegovo korisničko ime. Na primer, imamo sudo korisnika ‘tk’. Možemo proveriti da li korisnik pripada grupi pomoću sledeće komande:

groups tk

Zamenite ‘tk’ sa korisničkim imenom.

Dobićete prikaz sličan ovom:

Kako izbrisati sudo korisnika

Postoje situacije u kojima ćete možda želeti da izbrišete sudo korisnika. Na primer, napravili ste grešku prilikom konfiguracije profila ili je korisnik bio potreban samo za jednokratni zadatak.

Možete koristiti grafički interfejs ili komandnu liniju za brisanje korisnika sa Ubuntu sistema. Koristeći komandnu liniju, korisnika možete obrisati na sledeći način:

  • Izvršite komandu `sudo deluser username`, gde ‘username’ zamenite sa imenom profila koji želite da obrišete. Ovim postupkom se korisnik briše, ali njegove datoteke ostaju.

Uklonili smo korisnika ‘kamunya’:

Ukoliko želite da uklonite i korisničke fajlove, izvršite sledeću komandu:

sudo deluser --remove-home username

U našem slučaju, to bi bilo:

sudo deluser --remove-home kamunya

Najbolje prakse za upravljanje korisnicima u sudoers datoteci

  • Koristite `visudo` komandu: Ukoliko dodajete sudo korisnike direktno u `sudoers` datoteku, uvek koristite `visudo` komandu. Nakon izvršenih promena, proverite da nema grešaka u kucanju, sačuvajte i zatvorite editor.
  • Koristite grupe: Umesto da dodajete pojedinačne korisnike kao sudo korisnike, dodajte ih u odgovarajuću grupu. Možete imati različite grupe kao što su ‘administratori’ i ‘programeri’ sa različitim setom dozvola.
  • Dokumentovanje pristupa: Vodite evidenciju o tome kome ste dodelili sudo privilegije i koja prava imaju. Ovo olakšava rad novim zaposlenima u slučaju izmena.
  • Nadzor pristupa: Kontinuirano pratite aktivnosti korisnika kojima ste dodelili sudo prava. Redovne provere vam omogućavaju da na vreme obrišete ili promenite privilegije, u skladu sa promenama u potrebama.

Zaključak

Ubuntu je jedan od najčešće korišćenih operativnih sistema među administratorima i programerima. Ključno je da obezbedite da pravi korisnici imaju odgovarajuća prava kada pristupaju sistemu.

Sada razumete ko su sudo korisnici i na koje načine ih možete dodati na Ubuntu sistem. Takvi korisnici više ne moraju da se prijavljuju na sistem sa punim pristupom, već sa ograničenim mogućnostima koje im omogućavaju da izvrše zadatke.

Preporučuje se da dalje istražujete komande za performanse Linux sistema, koje su neophodne svakom administratoru sistema.