Linux je operativni sistem koji omogućava rad više korisnika istovremeno, što znači da više osoba može koristiti isti računar u isto vreme. S obzirom na to da je dizajniran za više korisnika, od izuzetne je važnosti da Linux obezbedi sigurnost i privatnost podataka svakog pojedinačnog korisnika.
Da bi ovo postigao, Linux koristi sofisticiran sistem za upravljanje dozvolama za datoteke i direktorijume. Na taj način, korisnici Linuxa mogu kontrolisati pristup svojim i tuđim datotekama, kao i određivati koje radnje drugi korisnici mogu da preduzmu na računaru.
Kao korisnik Linuxa, ključno je da razumete kako sistem funkcioniše u vezi sa dozvolama za datoteke i direktorijume, kao i kako možete koristiti različite dostupne dozvole kako biste zaštitili svoje podatke i osigurali nesmetan rad vašeg računara. Da bismo razumeli mehanizam upravljanja dozvolama u Linuxu, prvo ćemo se upoznati sa različitim kategorijama korisnika koje postoje u ovom operativnom sistemu.
Kategorije korisnika u Linuxu
Prva kategorija korisnika su vlasnici datoteke ili direktorijuma. Svaka datoteka ili direktorijum u Linuxu ima svog vlasnika. Ovom vlasniku se obično dodeljuju najšira prava pristupa svojoj datoteci ili direktorijumu. Vlasnik datoteke se obično označava slovom „u“ (user).
U Linuxu, više korisnika može se grupisati i dodeliti im zajedničke dozvole za datoteke kao grupa. Ovi korisnici se nazivaju „vlasnici grupe“ i predstavljaju se slovom „g“ (group).
Na primer, ako imate datoteku sa preporukama za knjige i želite da nekoliko korisnika ima sličan nivo pristupa, najlakši način da to uradite je da ove korisnike smestite u grupu i dodelite dozvole grupi kao celini.
Druga kategorija korisnika poznata je kao „ostali“ i označava se slovom „o“ (others). Ovi korisnici nisu vlasnici datoteke, niti su deo grupe koja ima dozvole za datoteku. „Ostali“ predstavlja sve druge korisnike na sistemu.
Svi korisnici na računaru, odnosno vlasnici datoteka, korisnici u grupama i ostali korisnici, mogu se označiti slovom „a“ (all).
Kreiranje i dodavanje novog korisnika u Ubuntu Linux
Pogledajmo sada kako možete kreirati i dodati novog korisnika u Ubuntu Linux. Da biste pratili ovaj vodič, možete kreirati novog korisnika.
1. Otvorite „Podešavanja“ i na levoj strani menija kliknite na „Korisnik“, zatim kliknite na „Otključaj“ i unesite svoju lozinku kada se to od vas zatraži. Morate kliknuti na „Otključaj“ da biste mogli da dodate novog korisnika. Po default-u, ova funkcija je zaključana.
2. Kada se otključa, pojaviće se opcija „Dodaj korisnika“, kliknite na nju da dodate novog korisnika.
3. Da biste kreirali novog korisnika, unesite njegovo puno ime i korisničko ime, odaberite „Postavi lozinku odmah“ i postavite njegovu lozinku. Dodatno, proverite da je tip naloga postavljen na „Administrator“, a zatim kliknite na „Dodaj“ da biste dodali korisnika.
4. Trebalo bi da vidite novi korisnički nalog koji ste upravo kreirali, kao što je prikazano ispod.
Dozvole za Linux datoteke i direktorijume
Dozvole se odnose na pravila koja regulišu pristup datotekama i direktorijumima i radnje koje različiti korisnici mogu izvršavati nad njima. Linux ima tri osnovne kategorije dozvola:
- Read (r) – omogućava korisniku da vidi sadržaj datoteke i da pregleda sadržaj direktorijuma.
- Write (w) – omogućava korisniku da menja sadržaj datoteke. Kod direktorijuma, dozvola za pisanje omogućava korisniku da menja sadržaj direktorijuma, kao što je kreiranje, brisanje, preimenovanje ili premeštanje datoteka i poddirektorijuma unutar direktorijuma. Međutim, dozvole za pisanje kod direktorijuma rade samo ako korisnik ima i dozvole za izvršavanje.
- Execute (x) – Dozvola za izvršavanje znači da se datoteka može tretirati kao program koji se može pokrenuti. Kod direktorijuma, dozvola za izvršavanje dozvoljava korisniku da uđe u direktorijum (cd).
Dozvole za čitanje, pisanje i izvršavanje dodeljuju se trima kategorijama korisnika koje postoje u Linuxu.
Možete pročitati i kako da uklonite datoteke i direktorijume u Linuxu.
Duga lista u Linuxu
Da bismo videli sadržaj datoteka u Linux direktorijumu, obično koristimo komandu „ls“. Međutim, ova komanda samo prikazuje dostupne datoteke i direktorijume, ali ne pruža nikakve dodatne informacije.
Da biste videli više detalja o sadržaju, potrebno je koristiti format duge liste. Da biste to uradili, pokrenite komandu „ls“ sa oznakom „-l“. Ovo će vam prikazati dozvole za datoteku, vlasnika datoteke i vlasnika grupe za datoteku, kao što je prikazano u nastavku:
U Ubuntu-u, podrazumevano, ako nije kreirana nijedna grupa, ime grupe je isto kao i vlasnik datoteke.
Za kreiranje grupe koristimo komandu „addgroup“. Da biste dodali grupu pod nazivom „urednici“, pokrenite sledeću komandu i unesite lozinku kada se to od vas zatraži:
sudo addgroup editors
Komanda „sudo“ nam omogućava da pokrećemo komande kao „root“ korisnik, što je superkorisnik sa privilegijama da izvršava promene koje utiču na sve korisnike računara.
Za dodavanje korisnika u grupu koristimo sledeću sintaksu:
adduser <user> <group>
Stoga, da bismo dodali i „belmonta“ i „madicija“ u grupu „urednici“, izvršavamo:
sudo adduser belmont editors
sudo adduser madici editors
Da biste videli grupe kojima korisnik pripada, izvršite:
groups <username>
Rezultat gore navedenih komandi prikazan je u nastavku:
Pogledajmo sada atribute datoteke koji nam govore o tipovima datoteka i dozvolama u datoteci.
Atributi datoteke u Linuxu
U Linuxu, atributi datoteke se sastoje od tačno deset znakova. Prvi znak označava tip datoteke. Neki od uobičajenih prvih znakova koji predstavljaju različite tipove datoteka uključuju:
- „d“ označava direktorijum
- „-“ označava običnu datoteku, npr. tekstualne datoteke
- „c“ označava datoteku sa posebnim znakovima
- „l“ označava simboličku vezu
- „b“ označava blok posebnu datoteku
Preostalih devet znakova se koristi za prikaz dozvola vlasnika, vlasnika grupe i ostalih korisnika. Devat znakova je podeljeno u grupe po tri. Prva grupa označava dozvole vlasnika, druga grupa označava dozvole vlasnika grupe, a poslednja tri označavaju dozvole za ostale, odnosno svakog drugog korisnika na računaru.
Dozvole za svaku kategoriju su naznačene počevši od dozvole za čitanje, zatim pisanje i na kraju od dozvole za izvršavanje. Dozvola za čitanje je označena slovom „r“, dozvola za pisanje slovom „w“, a dozvola za izvršavanje slovom „x“.
Simbol „-“ se koristi u slučaju da korisnik nema određenu dozvolu. Na primer, „rw-“ za vlasnika grupe znači da oni imaju i dozvole za čitanje i pisanje, ali nemaju dozvolu za izvršavanje u tom direktorijumu (d).
Promena dozvola za datoteke pomoću simboličke notacije
Da bismo promenili dozvole za datoteku ili direktorijum, koristimo komandu „chmod“ i navedemo kome menjamo dozvole.
To može biti vlasnik datoteke, predstavljen slovom „u“ (user), vlasnik grupe, predstavljen slovom „g“ (group), ili ostali korisnici, predstavljeni slovom „o“ (others). Takođe, možemo ciljati sve tri kategorije korisnika korišćenjem slova „a“ (all), što znači sve navedeno.
Sledeća stvar koju navodimo je promena koju pravimo. Za dodavanje dozvole koristimo „+“ (znak plus). Za uklanjanje dozvole koristimo „-“ (znak minus). Poslednja stvar koju navodimo su dozvole koje dodajemo, koristeći „r“, „w“ ili „x“ za predstavljanje tri dostupne dozvole.
Da biste ovo videli u praksi, kreirajte direktorijum pod nazivom „knjige“ koristeći komandu ispod:
mkdir books
Uđite u direktorijum (cd):
cd books
Kreirajte datoteku pod nazivom „readList.txt“:
touch readingList.txt
Dugačka lista sadržaja direktorijuma „knjige“ dobija se izvršavanjem:
ls -l
Izlaz je kao što je prikazano:
Datoteka koju smo kreirali je obična datoteka, označena sa prvim „-„, vlasnik i vlasnik grupe imaju dozvole za čitanje i pisanje, dok drugi korisnici imaju dozvolu samo za čitanje. Da bismo drugim korisnicima dali dozvolu za pisanje u datoteku, izvršili bismo sledeću komandu:
chmod o+w readingList.txt
Da biste videli da li su se dozvole za druge korisnike promenile, izvršite:
ls -l
Izlaz:
Primetićete da se dozvola za fajlove drugih korisnika promenila sa „r–“ u „rw-„, što znači da sada imaju dozvolu za pisanje.
Da biste vlasniku (korisniku) datoteke dodali dozvole za izvršavanje, izvršite:
chmod u+x readingList.txt
Da biste uklonili dozvole za pisanje od vlasnika grupe, izvršite:
chmod g-w readingList.txt
Da biste uklonili dozvole za čitanje svim korisnicima, tako da niko ne može da vidi datoteku, izvršite:
chmod a-r readingList.txt
Da biste vratili dozvolu za čitanje za vlasnika datoteke, izvršite:
chmod u+r readingList.txt
Da biste dodali dozvole za pisanje i izvršavanje vlasniku grupe datoteke, izvršite:
chmod g+wx readingList.txt
Promena dozvola pomoću oktalne notacije
U Linuxu, svaka od tri dostupne dozvole ima samo dve moguće vrednosti. Dozvola za čitanje može biti samo „r“ ili „-„, dozvola za pisanje može biti samo „w“ ili „-„, a dozvola za izvršavanje može biti samo „x“ ili „-„.
Stoga se za ove dozvole može smatrati da su uključene ili isključene, i stoga se mogu predstaviti pomoću binarnih brojeva, koji imaju samo dve dostupne vrednosti: 1 za uključeno ili tačno, i 0 za isključeno ili netačno. Dakle, dozvola kao što je „rw-“ može se predstaviti kao „110“ koristeći binarne brojeve.
Shodno tome, za bilo koju kategoriju korisnika, tri binarna broja su dovoljna da predstave sve njihove dozvole. Na primer, dozvola za vlasnika, grupu i ostale „rwxrwxr–“ može biti predstavljena kao „111111100“ korišćenjem binarnog broja.
Međutim, da biste izbegli pisanje binarnog broja, koji je dugačak i lako zbunjujuć, bolja alternativa je korišćenje oktalnih brojeva.
Oktalni brojevi imaju osnovu od 8 i stoga imaju samo 8 mogućih vrednosti. Svaki oktalni broj se preslikava na tačno tri binarne cifre.
Stoga, dozvola kao što je „rw-“ može biti predstavljena kao „110“ u binarnom obliku. Oktalni ekvivalent „110“ je „6“, pa se „6“ može koristiti za predstavljanje „rw-„. Oktalni brojevi se mogu koristiti za predstavljanje dozvola za čitanje, pisanje i izvršavanje vlasnika, grupe i ostalih, kao što je prikazano u nastavku:
Umesto pisanja dugih binarnih cifara, bolje je predstaviti dozvole koristeći oktalne brojeve. Stoga su sve dozvole vlasnika, grupe i ostalih predstavljene pomoću pojedinačnih oktalnih brojeva, kao što je prikazano na gornjem dijagramu.
Prednost korišćenja oktalne notacije za postavljanje dozvola je u tome što vam omogućava da postavite dozvolu za sve svoje korisnike odjednom, za razliku od simboličke notacije, gde možete podesiti dozvolu samo za jednog korisnika u isto vreme.
Međutim, korišćenje oktalne notacije zahteva neko vreme i vežbanje da biste mogli da se setite na šta se svaki oktalni broj odnosi. Uz to, slobodno se pozovite na gornji dijagram kad god koristite oktalnu notaciju. Pogledajmo nekoliko primera promene dozvola koristeći oktalnu notaciju.
Da biste svim korisnicima, odnosno vlasniku, vlasniku grupe i ostalim korisnicima, dali dozvolu za čitanje, pisanje i izvršavanje datoteke „readList.txt“, izvršite:
chmod 777 readingList.txt
Da biste proverili da li su se dozvole promenile, izvršite:
ls -l
Izlaz:
total 0 -rwxrwxrwx 1 madici madici 0 Sep 6 05:45 readingList.txt
Obratite pažnju da sada vlasnik, grupa i ostali korisnici imaju dozvolu da čitaju, pišu i izvršavaju „readList.txt“.
Da biste uklonili dozvole za pisanje i od vlasnika grupe i od ostalih, izvršite:
chmod 755 readingList.txt
Da biste uklonili dozvolu za izvršenje od vlasnika, a ostalima izvršili:
chmod 654 readingList.txt
Posebne dozvole u Linuxu
Linux ima tri posebne dozvole koje se mogu primeniti na datoteke i direktorijume, pored standardnih dozvola za čitanje, pisanje i izvršavanje. Ove dozvole pružaju naprednu funkcionalnost za kontrolu pristupa i omogućavaju korisnicima sa manje privilegija da izvršavaju datoteke i komande sa višim privilegijama, baš kao i vlasnik datoteke ili vlasnik grupe.
Posebne dozvole uključuju:
- Set User ID (SUID) – SUID dozvola omogućava korisniku da izvrši datoteku ili program sa privilegijama vlasnika, a ne privilegijama korisnika koji ih izvršava. Ovo je korisno kada standardni korisnici treba da obavljaju zadatke koji zahtevaju povišene privilegije.
- Set Group ID (SGID) – SGID dozvola omogućava korisniku da izvrši datoteku sa dozvolama vlasnika grupe datoteke, a ne dozvolama njihove stvarne grupe.
- Sticky Bit – Sticky bit je dozvola koja se obično postavlja na direktorijume kako bi se osiguralo da datoteke u direktorijumu može da obriše samo stvarni vlasnik direktorijuma, vlasnik te određene datoteke ili root korisnik.
Tri posebne dozvole mogu se koristiti zajedno sa standardnim dozvolama: čitanje, pisanje i izvršavanje.
Zaključak
Dozvole su važan koncept u Linuxu, čak i ako vaš računar nema više korisnika. Razumevanje dozvola je važno za obezbeđivanje kontrole, sigurnosti i privatnosti podataka uskladištenih u Linux sistemu, kao i njegove funkcionalnosti. Stoga, razmislite o tome da se upoznate sa dozvolama tako što ćete uvežbati ono što ste naučili o dozvolama u ovom članku.
Takođe, možete istražiti kako da koristite Linux komande na Windowsu.