Što je Sudo u Linuxu i kako ga koristiti

Uzmite u obzir gornji strip iz izvrsnog XKCD web stripa . Lijenčina u stolici želi da im njihov prijatelj napravi sendvič, ali nemaju ovlasti da ih na to natjeraju. To jest, sve dok ne pozove moćnu naredbu sudo. Nakon toga će se na ovaj ili onaj način napraviti sendvič. 

Iako isprobavanje sudoa na osobi u stvarnom životu vjerojatno neće biti tako učinkovito, to je čarobna naredba koja prolazi kroz svaku zapreku u svijetu Linuxa(Linux) . Što je sudo? Zašto uopće postoji? Odgovor leži u tome kako Linux rukuje dopuštenjima.

Razumijevanje korisničkih dozvola za Linux(Linux User Permissions)

Linux se smatra sigurnim operativnim sustavom zbog načina na koji rukuje dopuštenjima. Dok su operativni sustavi kao što su macOS (koji dijeli pretka s Linuxom(Linux) ) i Windows u tom pogledu sada više nalik Linuxu , operativni sustav (Linux)otvorenog koda(Open Source) je još uvijek donekle jedinstven.

Razumijevanje načina na koji Linux rukuje dopuštenjima čini puno lakšim razmišljanje o naredbi sudo. Svi moderni operativni sustavi imaju razinu "administratorskih" ili "root" korisničkih dozvola. Ako imate administratorski ili root račun, možete promijeniti bilo koju postavku, izbrisati sve podatke i općenito raditi što god želite s računalom. 

To uključuje stvari koje vjerojatno ne biste trebali činiti, a mogu dovesti do gubitka podataka ili potrebe za potpunim brisanjem i ponovnom instalacijom.

Linux ne postavlja dozvole na razini root korisnika kao zadane. Umjesto toga, vaš račun ne može doći do stvarno osjetljivih dijelova sustava bez podizanja razine dopuštenja. To znači da će sustav tražiti da unesete administratorsku lozinku kada želite učiniti nešto neobično koristeći grafičko sučelje. 

Međutim, kada želite upotrijebiti naredbeni redak terminala(Terminal) za obavljanje stvari, sudo je najsigurniji i najučinkovitiji način da to učinite.

Sudo i terminal

Postoje dva načina da sebi date povišena dopuštenja u Linuxu(Linux) . Jedan je da se trajno prijavite kao root korisnik. Problem s ovim je što bilo tko drugi tko može pristupiti računalu može izazvati pustoš, pa čak i vi to možete učiniti slučajno. Sudo podiže vaša dopuštenja samo na kratko vrijeme kako bi izvršio određene naredbe koje ga slijede.

Sudo sintaksa

Sudo sintaksa (format naredbe) je jednostavna. Jednostavno(Simply) upišite “sudo” nakon čega slijedi naredba koju želite izvršiti.

Na primjer, "sudo apt-get update" ažurirat će sva spremišta aplikacija navedena u relevantnoj datoteci. Ako ga pokušate pokrenuti bez sudoa, dobit ćete poruku o pogrešci koja vam govori da nemate dopuštenje. Inače, ovo je općenito prva sudo naredba koju ćete htjeti pokrenuti nakon nove instalacije vašeg omiljenog Linux distribucije. 

"Su" u Sudu

"su" u sudo je skraćenica za "superuser" i to je samostalna naredba. Naredba “su” vam omogućuje da promijenite privilegije korisnika do kojih vas sudo uzdiže. 

Iako vas sudo privremeno podiže do root-a, su vas mijenja u drugog korisnika s odgovarajućim privilegijama. To se može činiti kao nevažna razlika, ali postoje dobri razlozi za promjenu računa na koji sudo podiže korisnika. 

Prije(First) svega, promjena računa znači da obični korisnici ne znaju root lozinku. Drugo, postoji zapisnik svih sudo naredbi, što znači da administrator sustava (root) može potražiti tko je izdao su naredbe.

Sintaksa za su u biti je ista kao i sudo:

Su USERNAME -c NAREDBA(Su USERNAME -c COMMAND)

Zamijenite USERNAME(Replace USERNAME) željenim korisnikom za pokretanje naredbe i COMMAND naredbom Linuxa(Linux) koju želite izvršiti.

Ako želite pokrenuti više naredbi kao drugi korisnik, jednostavno upotrijebite:

Su USER

Zamijenite USER(Replace USER) sa željenim identitetom korisničkog računa.

Ako koristite su sami, Linux će se prebaciti na drugi korisnički račun dok ne upotrijebite naredbu “exit”. Važno je zapamtiti da će ovaj ili sljedeći korisnik za pristup terminalu u toj sesiji i dalje imati povišena dopuštenja. Zbog toga je općenito bolje koristiti sudo umjesto su.

Sudo vremensko ograničenje

Kada prvi put koristite naredbu sudo, morat ćete unijeti lozinku. Tada će ta lozinka ostati važeća 15 minuta. Ovu zadanu vrijednost možete promijeniti pokretanjem naredbe sudo visudo i promjenom “timestamp_timeout=” na dužu ili kraću vrijednost. Međutim, ne preporučamo da to učinite osim ako nemate dobar razlog da produžite ili skratite koliko dugo sudo lozinka ostaje važeća.

Prekidači opcija Sudo

Iako je sudo sintaksa jednostavna, vrijedi znati nekoliko prekidača. Ove naredbe otvaraju dodatne informacije ili vam pomažu kontrolirati sudo sesiju:

  • -h prikazuje sintaksu i informacije o naredbi za sudo.
  • -V prikazuje trenutnu verziju za sudo na vašem računalu.
  • -v osvježava vremensko ograničenje sudo, ponovno pokreće sat.
  • -l navodi korisničke privilegije.
  • -k odmah ubija trenutnu sudo sesiju, uklanjajući povišene privilegije.

Postoji mnogo više opcija ugrađenih u sudo, a sve ih možete vidjeti koristeći prvi gore navedeni prekidač -h.

Gornja snimka zaslona je rezultat kada koristite opciju pomoći.

Korisne sudo naredbe

Dakle, koje bi naredbe koje je omogućio sudo svaki korisnik Linuxa(Linux) trebao znati? Već smo pokrili sudo apt-get update, ali uzmite u obzir i ovo:

  • Sudo apt-get upgrade će nadograditi sve instalirane pakete.
  • Sudo apt-get install <package-name> instalira softver po vašem izboru; samo promijenite naziv paketa u onaj koji želite instalirati.
  • Ako ne znate naziv paketa, koristite dpkg –list .
  • Ako želite ukloniti instalirani paket s terminala, upotrijebite sudo apt-get remove <package-name (opet zamjenjujući naziv specifičnog paketa u pitanju).

Ovo su vjerojatno prve sudo naredbe koje ćete morati upotrijebiti, ali kao što ste već naučili, svaka naredba može slijediti sudo, no trebali biste koristiti samo one za koje su potrebne veće privilegije.



About the author

Ja sam hardverski inženjer s preko 10 godina iskustva u radu na IOS i MacOS sustavima. Posljednjih 5 godina predajem večernju nastavu i sam sam naučio koristiti Google Chrome. Moje vještine u oba područja čine me savršenim kandidatom za razvoj web stranica, grafički dizajn ili rad na web sigurnosti.



Related posts