LAKI PINGVINI<>
012015<><>

Korisnici i sigurnost

Kako se Linux „štiti” od sopstvenih korisnika

Ovog meseca, edukativni deo „Lakih pingvina” rezervisan je za upoznavanje sa Linuxovom podrškom za korisničke naloge i privilegije, kao i sa sigurnosnim aspektima proisteklim iz te podrške. Iako je ova tema interesantna prvenstveno sistemskim administratorima, trebalo bi je poznavati čak i ako ste „običan” korisnik, kako Linuxa tako i bilo kog drugog operativnog sistema koji je kompatibilan sa Unixom, uključujući Mac OS X.

Korisnici, broj i vrste

Linux od svog nastanka predstavlja pravi višekorisnički operativni sistem. Za razliku od „lažnih” višekorisničkih sistema iz tog vremena (recimo, ranih verzija Windowsa, gde se podrška za više korisnika svodila na trivijalnosti poput pamćenja izabrane pozadinske slike na desktopu za svakog korisnika), Unix kompatibilni sistemi podržavali su potpunu izolaciju korisničkih naloga. Svaki korisnik ima svoj lični folder i fajlove u svom vlasništvu, a više korisnika može biti prijavljeno na sistem istovremeno (lokalno ili preko mreže) i pokretati programe bez ometanja ostalih korisnika. Svi korisnički nalozi su „ograničenog” karaktera (nemaju pristup sistemskim fajlovima i podešavanjima) osim glavnog administratorskog naloga (takozvani „root” ili „super user”), koji ima apsolutne privilegije, uključujući mogućnost kreiranja i uklanjanja ostalih korisničkih naloga. Zbog prirode takvog naloga, uputstva za sve sisteme koji su kompatibilni sa Unixom su još od ranih dana naglašavala da se „root” nalog ne koristi ni za šta drugo osim za povremene administratorske operacije, dok noviji sistemi (praksa koju je popularizovao Ubuntu Linux, a važi i za Mac OS X) podrazumevano nemaju definisanu lozinku za „root” nalog, čime je on efektivno onemogućen kako bi se sprečila veća šteta od strane korisnika koji je slučajno ili namerno sve vreme ulogovan kao „root” tokom rada na računaru.

Sa druge strane, Windows familija sistema podrazumevanim korisničkim nalozima (onima koji se kreiraju tokom instalacije operativnog sistema) automatski dodeljuje administratorske privilegije, zbog čega su autori aplikacija za Windows decenijama podrazumevali da njihova aplikacija ima punu kontrolu nad računarom, jer se izvršava pod administratorskim nalogom. Zbog toga je piscima malicioznog softvera posao bio izuzetno lak – dovoljno je nekako dopremiti EXE fajl na računar i navesti korisnika da ga pokrene, i otvaraju se „vrata pakla”. Čak i u najnovijim verzijama, podrazumevani korisnički nalog ima administratorske privilegije, ali je Windows Vista pionirski uvela mehanizam „User Account Control”, pri kom pokušaje „čačkanja” po sistemskim podešavanjima i fajlovima tokom rada programa presreće operativni sistem, a korisnik dobija zahtev za potvrdu ili odbijanje dozvole za tako nešto. U teoriji zvuči lepo, ali u praksi pravi više problema nego koristi, pa se problemi sa izvršavanjem velikog broja popularnih programa (naročito video igara) i dalje rešavaju pokretanjem pod punim privilegijama (desnim klikom na EXE i biranjem komande „Run as Administrator”, čime se zaobilazi i obesmišljava UAC).

Nasuprot tome, na Unixima su programeri svesni da njihovi programi, osim ako ne spadaju u kategoriju sistemskog softvera, najverovatnije neće biti izvršavani pod „root” nalogom, tako da ih pišu vodeći računa da ne traže administratorske dozvole bez preke potrebe. Time je nastala i praksa čuvanja svih programskih podešavanja u korisničkom folderu (na primer, /home/username) umesto na nekom „globalnom” mestu. Ova praksa se vremenom prenela i na Windows, gde su stariji programi svoja podešavanja po pravilu čuvali u Registry bazi (što je bio ozbiljan sigurnosni propust). Noviji programi su postali „kultivisani” pa svoja podešavanja čuvaju u korisničkom folderu (C:\Users\Username), čime se ne narušava stabilnost operativnog sistema.

Grupe korisnika

Višekorisnički operativni sistemi nude mogućnost formiranja korisničkih grupa sa određenim skupom privilegija koje se propagiraju na sve korisnike „učlanjene” u grupu. Zanimljivo je da na Windowsu ne postoji jedan administratorski nalog, već cela administratorska grupa, pa svi njeni članovi efektivno predstavljaju „super korisnika”. Pomenuli smo da u novijim verzijama Unix kompatibilnih sistema, a naročito na Linuxu, „root” nalog podrazumevano nije omogućen. Kako je onda rešena administracija sistema i šta se dešava kada hoćemo da više korisnika ima takve privilegije, a da ne dele isti „root” nalog i istu lozinku? Inače, deljenje istog „root” naloga predstavlja očigledan sigurnosni propust, jer u slučaju oštećenja sistema nemamo jasan trag ko je odgovoran za problem, a svaki od korisnika koji je delio isti „root” nalog može optužiti svoje kolege.

Ovaj problem je na Unixu i Linuxu rešen sistemskim programom „sudo” (skraćeno od „substitute user do”, što grubo prevedeno znači „uradi pod zamenjenim korisničkim nalogom”). „Sudo” omogućava pokretanje komande (odnosno programa) tako da se ona izvršava pod tuđim privilegijama, uključujući „root” privilegije, ali uz zadržavanje UID i GID (user i group identifikatora) korisnika koji je pozvao komandu, umesto UID i GID identifikatora korisnika pod čijim se privilegijama komanda izvršava. Tako možemo podesiti „sudo” da nekoliko korisnika dobije administratorske privilegije, ali da tačno znamo šta je ko radio na sistemu.

Korisnici i dozvole

Naposletku, osim dozvola za izvršenja programa, korisnički nalozi omogućuju i dozvole nad vlasništvom i pristupanjem fajlovima. Ako uradite listing foldera na nekom od sistema kompatibilnih sa Unixom, za svaki fajl ili folder dobićete, između ostalog, izlistanog vlasnika, grupu i tekst u formatu „rwx rwx rwx”. Ova tri slova označavaju „read”, „write” i „execute” dozvole nad fajlom ili folderom (u slučaju foldera, „execute” označava mogućnost izlistavanja njegovog sadržaja, pa je tako moguće sakriti fajlove od pojedinih korisnika). Tri grupe ovih slova odnose se na dozvole za vlasnika, vlasničku grupu i za sve ostale korisnike. Recimo, ako prilikom izlistavanja svog fajla vidite dozvole „rwx r-x r--”, to znači da imate sve privilegije nad fajlom, drugi korisnici iz vlasničke grupe mogu samo da ga čitaju (npr. otvaranjem u nekom tekstualnom pregledaču) i izvršavaju kao program, a svi ostali mogu samo da ga čitaju bez izvršavanja. Ovaj svojevremeno napredni koncept vremenom se pokazao kao nefleksibilan, tim pre što je Windows u međuvremenu uveo podršku za moćnije liste kontrole pristupa (Access Control List) koje dozvoljavaju finije podešavanje privilegija (na primer, složenija pravila za pristup fajlu za svakog korisnika ponaosob, bez obzira na to kojoj grupi pripada). Linux kernel već više od deset godina podržava ACL liste, pa je prava pristupa moguće štelovati detaljnije nego na starim Unix sistemima.

Ivan TODOROVIĆ

vlasnikgrupaostali
Dozvolečitanjepisanjeizvršavanječitanjepisanjeizvršavanječitanjepisanjeizvršavanje
Prikazrwxrwxrwx
Decimalno421421421
 
Korisnici i sigurnost
Šta mislite o ovom tekstu?
Gigabajti pod ključem
Unity tweak tool 0.0.6
Octopi 0.5.0
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera