
Zašto su Linux dozvole ključne za bezbedan i efikasan timski rad
Kada radite u timu na Linux serveru ili deljenom repozitorijumu, kontrola pristupa datotekama postaje temelj bezbednosti i produktivnosti. Vi morate znati ko može da čita, menja ili izvršava fajlove; pogrešno postavljene dozvole mogu onemogućiti rad kolega ili, još gore, izložiti osetljive podatke.
U praksi, dozvole vam pomažu da:
- ograničite pristup poverljivim datotekama samo na članove tima koji ih trebaju;
- sprečite nenamerne promene u skriptama i konfiguracijama;
- olakšate saradnju tako što ćete definisati jasna pravila za deljenje resursa.
Kako brzo pročitati i protumačiti dozvole u komandnoj liniji
Tri dela prava: vlasnik, grupa i ostali
Svaka datoteka ili direktorijum u Linuxu ima tri “nivoa” dozvola: vlasnik (owner), grupa (group) i ostali (others). Svakoj od ovih kategorija mogu biti dodeljena tri vrste prava:
- r — pravo čitanja (read)
- w — pravo pisanja (write)
- x — pravo izvršavanja (execute)
Prilikom pregleda sa komandom ls -l videćete niz koji počinje sa npr. -rw-r-----. Prvih 10 znakova govore o tipu fajla i pravima: prvi znak označava tip (npr. ‘-‘ za običnu datoteku, ‘d’ za direktorijum), a naredna tri trojke predstavljaju prava vlasnika, grupe i ostalih.
Primer tumačenja izlaza
Razmotrimo primer:
-rw-r----- 1 ana dev 2048 izvestaj.txt
- Vlasnik: ana ima prava
rw-(čitanje i pisanje). - Grupa: dev ima prava
r--(samo čitanje). - Ostali: nema prava
---(nema pristupa).
Iz ovoga sledi da će članovi grupe dev moći da otvore izveštaj, ali neće moći da ga izmene; korisnik ana može i menjati. Ako želite da timski članovi mogu menjati fajl, moraćete promeniti grupna prava ili vlasništvo.
Razumevanje ovih osnovnih pravila omogućava vam da brzo dijagnostikujete probleme sa pristupom i planirate strategiju deljenja fajlova u timu. U sledećem delu naučićete praktične komande za promenu dozvola i kako ih primeniti u timskim radnim tokovima (chmod, chown, setfacl) kako biste izbegli najčešće zamke.
Praktične komande: chmod, chown i konkretni primeri
Nakon što razumete šta znače prava, vreme je da ih praktično primenite. Ovde su najčešće korišćene komande sa primerima koji su prilagođeni timskom radu.
- Promena vlasnika i grupe:
Da biste promenili vlasnika ili grupu fajla koriste se
chownichgrp. Na primer, da postavite vlasnika na korisnika marko i grupu na devteam:sudo chown marko:devteam izvestaj.txt - Promena dozvola simbolički i numerički:
Simbolički način je čitljiviji u timu: da omogućite grupi pisanje, a ostalima ništa:
chmod g+w izvestaj.txtNumerički način je koristan za brzo podešavanje više bitova: npr. vlasnik čita/piše/izvodi, grupa čita/izvodi, ostali ništa:
chmod 750 skripta.shTipična komanda za rekurzivno dodeljivanje prava direktorijumu tako da svi fajlovi i poddirektorijumi dobiju prava grupe:
chmod -R g+rwX /putanja/do/sharedNapomena: veliko X daje pravo izvršavanja samo direktorijumima ili fajlovima koji već imaju x.
- Rekurzivno menjanje grupe:
Da postavite grupu za sve postojeće fajlove u direktorijumu:
chgrp -R devteam /putanja/do/projekta

Napredne opcije: setgid, umask i ACL za timski rad
Standardne unix dozvole ponekad nisu dovoljne za fleksibilne timske potrebe. Ovde su trikovi koji olakšavaju saradnju bez stalne administracije.
- Setgid na direktorijumu:
Kada postavite setgid bit na direktorijum, svi novi fajlovi i poddirektorijumi u njemu nasleđuju grupu direktorijuma. Ovo je veoma korisno za timske foldere:
chmod g+s /putanja/do/sharedNaredni korak je osigurati da članovi grupe imaju odgovarajuće umask ili prava za pisanje.
- Umask za timsku saradnju:
Umask određuje podrazumevana prava pri kreiranju fajlova. Za timove često se koristi
002(umesto 022) kako bi grupa imala pisanje:Dodajte u
~/.profileili/etc/profile.d/team.shliniju:umask 002Time novi fajlovi dobijaju prava 664, direktorijumi 775 — pogodnije za zajednički rad.
- ACL (Access Control Lists) — finija kontrola:
ACL omogućava dodeljivanje prava po korisniku ili grupi, izvan standardnih vlasnik/grupa/ostali. Primer: dati korisniku milica write pristup određenom fajlu:
setfacl -m u:milica:rw izvestaj.txtDa postavite podrazumevane ACL-e za direktorijum tako da svi novi fajlovi naslede prava:
setfacl -d -m g:devteam:rwx /putanja/do/sharedProvera ACL-a:
getfacl izvestaj.txt

Uobičajene zamke i kako ih izbeći u timskom okruženju
Često viđene greške mogu narušiti sigurnost ili usporiti rad tima. Evo kako ih izbeći:
- Korišćenje 777: Nikada ne koristite
chmod 777kao brzo rešenje. To otvara sve fajlove svetu i može dovesti do curenja podataka ili izvršenja zlonamernog koda. - Prekomerno rekurzivno menjanje: Pre nego što pokrenete
chmod -Rilichown -R, proverite šta će biti zahvaćeno (findmože pomoći). Ne želite slučajno promeniti binarne fajlove ili konfiguracione direktorijume. - Zabluda o nasleđivanju prava: Standardne dozvole ne nasleđuju se automatski; koristite setgid ili default ACL-e ako želite nasleđivanje prava u shared folderu.
- Slažem se sa pojedinačnim izuzecima: Ako jednom date write pravo široj grupi, budite sigurni da su svi članovi pouzdani — bolje kreirati posebnu grupu za kritične projekte.
Završne napomene za timsku primenu
Postavite jasna pravila pristupa, automatizujte osnovne postavke (umask, setgid, default ACL) i dokumentujte očekivano ponašanje u repozitorijumu ili zajedničkim direktorijumima. Pre bilo kakvih masovnih izmena pokrenite probe na kopiji ili koristite find da selektivno ciljajte fajlove. Ako trebate detaljnije reference o pojedinačnim komandama i opcijama, pogledajte man stranice za chmod.
Frequently Asked Questions
Kako omogućiti timski zapis bez opasnosti od korišćenja chmod 777?
Umesto 777 kreirajte posebnu grupu za tim, postavite vlasništvo na tu grupu, omogućite setgid na direktorijumu i koristite umask 002 tako da novi fajlovi budu dostupni grupi bez otvaranja pristupa svima.
Kada je bolje koristiti setgid, a kada ACL?
Setgid je jednostavno rešenje za nasleđivanje grupe unutar direktorijuma i radi dobro za uniforme timske foldere. ACL je prikladniji kada trebate dodeliti specifična prava pojedinačnim korisnicima ili kada su pravila složenija i ne uklapaju se u vlasnik/grupa/ostali model.
Kako proverim koja dodatna prava (ACL) su postavljena na fajlu?
Koristite getfacl da vidite listu ACL unosa za fajl ili direktorijum. Ako nema ACL unosa, sistem koristi standardne unix dozvole; podrazumevane ACL-e možete proveriti i za direktorijume kako biste videli šta će naslediti novi fajlovi.
