Dobrodošli na wiki [[http://www.slackware-srbija.org/|srpske Slackware zajednice]]. Za izmenu sadržaja je neophodno registrovati nalog. Pre uređivanja ili dodavanja sadržaja poigrajte se sa [[wiki:syntax|wiki sintaksom]] u [[playground:playground|igralištu]].

Bez obzira na to koliko dobro se snalazite na nekom Linux sistemu, koji nivo znanja posedujete, kad-tad ćete doći u situaciju da se detaljnije pozabavite problemom dozvola. Dozvole pokazuju ko ima pristup fajlovima i folderima na sistemu i koja prava nad njima ima. Uvid u dozvole imaćete ako pokrenete komandu: <code>ls -l</code> Ovde će izčistati dozvole foldera u kome se nalazite. Za ostale foldere koristite putanje. == Korisnici (vrste) == **u** - vlasnik **g** - grupa koja ima prava vlasništva **o** - ostali (koji nisu ni vlasnik niti pripadaju vlasničkoj grupi) **a** - svi korisnici == Dozvole (vrste) == **r** - read (čitanje) **w** - write (pisanje, brisanje, izmena) **x** - execute (pokretanje) === Primer 1 - folder pod nazivom "priprema" sa odgovarajućim dozvolama === <code>drwxrwx--- 1 root users 24576 Dec 17 22:55 priprema</code> Dozvole nekog foldera mogu se razložiti na sledeći način: <code>d (tri oznake) (tri oznake) (tri oznake)</code> U ovom slučaju je to <code>d rwx rwx ---</code> Redom, s leva na desno, značenje je sledeće: **d** - označava tip elementa (u ovom slučaju je to //directory// - folder) **rwx** - dozvole vlasnika (uvek su prve tri oznake dozvole vlasnika fajla/foldera) **rwx** - dozvole grupe **---** dozvole ostalih (koji ne spadaju u grupu kojoj se definišu prava i nisu vlasnici) Kad slova pretvorimo u brojeve... r - 4 w - 2 x - 1 rwx = 7 (4+2+1) U ovom primeru folder ima 770 dozvole. Šta to znači? Vraćamo se na deo gde smo to sve razdvojili... <code>rwx - dozvole vlasnika (uvek su prve tri oznake dozvole vlasnika fajla/foldera) 4+2+1 = 7 rwx - dozvole grupe 4+2+1 = 7 --- dozvole ostalih (koji ne spadaju u grupu kojoj se definišu prava i nisu vlasnici) 0+0+0 = 0</code> **Vlasnik** (u ovom primeru **root**) ima sva tri navedena prava - čitanje, pisanje i izvršavanje (rwx) **Grupa** (u ovom primeru **users**) ima sva tri navedena prava - čitanje, pisanje i izvršavanje (rwx) **Ostali** nemaju ni jedno od navedenih prava - čitanje, pisanje i izvršavanje (- - -) === Primer 2 - fajl pod nazivom "test.jpg" sa odgovarajućim dozvolama === <code>-rwxrw---- 2 root users 3011195 Nov 12 15:38 test.jpg</code> **Napomena:** Prva oznaka (**-**) je oznaka tipa elementa (kao što je **d** u primeru 1) i nemojte da vas to zbuni. **vlasnik** (root) ima rwx 4+2+1 = **7** **grupa** (users) ima rw (samo čitanje i pisanje ne i izvršavanje) 4+2+0 = **6** **ostali** (svi koji ne spadaju u users grupu) nemaju ni jedno od navedenih prava (- - -) 0+0+0 = **0** Dakle oktalna oznaka je 760. ==== Kako promeniti dozvole nekog objekta? ==== Odgovor je prilično jednostavan. Koristi se posebna komanda - **chmod**. Pomoću ove komande možete menjati dozvole nekog objekta unošenjem željene oktalne vrednosti ili definisanjem pojedinačnih parametara. === Primer 3 - promena dozvola unošenjem odgovarajućih oktalnih vrednosti === Ako želite da na folderu iz //primera 1// omogućite čitanje korisnicima koji ne pripadaju vlasničkoj grupi, i istovremeno da ukinete izvršavanje korisnicima koji pripadaju vlasničkoj grupi (svima osim vlasniku objekta) prvo treba da izračunate oktalnu vrednost željenih dozvola. Za potrebe ovog primera iskoristićemo sliku. {{:osnovno:dozvole.jpg|}} Oktalna vrednost je: rwx = 7 (4 + 2 + 1) rw- = 6 (4 + 2 + 0) r-- = 4 (4 + 0 + 0) Komanda kojom vršimo promenu prava je: <code>chmod 764 priprema</code> Nakon izvršavanja ove komande dobijamo sledeće: <code>drwxrw-r-- 1 root users 24576 Dec 17 23:10 priprema</code> Opšti obrazac ove komande je: <code>chmod (oktalna vrednost) naziv_objekta</code> === Primer 4 - promena dozvola unošenjem odgovarajućih vrednosti vrste vlasnika i vrste dozvola === Uzmimo npr fajl test.jpg (//iz primera 2//). Ako želite da dodate pravo izvršavanja grupi koja je vlasnik ovog fajla, to možete uraditi na sledeći način: <code>chmod g+x test.jpg</code> Ako želite da oduzmete pravo pisanja svim korisnicima, to možete uraditi na sledeći način: <code>chmod a-w test.jpg</code> Dakle, opšti obrazac komande u ovom slučaju je: <code>chmod (vrsta korisnika)(dodavanje/oduzimanje)(vrsta dozvole) naziv_objekta</code> //Vrstu korisnika (u pogledu vlasništva) i vrstu dozvole potražite u mini tabelama na samom početku ovog teksta//. ==== Maske ==== Ako koristite NTFS particije na svom sistemu, sigurno ste se sreli sa problemom manipulacije sadržajem koji se na njima nalazi. Zašto se problem uopšte javlja? Slackware (Linux u globalu) za rw pristup (koji omogućava i čitanje i pisanje po particijama) koristi FUSE u kombinaciji sa //ntfs-3g drajverom//. Prilikom svakog pokretanja se particija montira na odgovarajuću lokaciju i ponovo se postavljaju odgovarajuće dozvole za pristup ovim particijama (promena nije permanentna). Podrazumevano, veliki broj sistema montira NTFS particije sa parametrom "defaults" a to podrazumeva 777 dozvole na fajlovima i folderima. To znači da svi korisnici imaju sva tri prava o kojima smo pričali - čitanje, pisanje, pokretanje...Da li je to ono što želite? Ako nije, dozvole morate uneti u [[Vodič kroz fstab|fstab]] fajl koji je na Linux sistemima zadužen za montiranje particija prilikom startovanja sistema (bez obzira da li je u pitanju sistemska ili nesistemska particija). Kako da postavimo odgovarajuće dozvole? E, tu na scenu stupaju maske - **umask** oznake. Dakle, morate uneti odgovarajuće **umask** oznake kako bi definisali ko koja prava ima nad odabranim particijama/diskovima. **fmask** - fajl maska **dmask** - folder maska === Primer 5 - NTFS particija koja je u fstab fajlu podešena da se montira sa defaults parametrom (777 dozvole za sve objekte) === <code>/dev/sda5 /media/podaci ntfs-3g defaults 1 0</code> Kako dobijamo odgovarajući //umask// koji ćemo upotrebiti? Ovaj broj dobijamo kada od 777 oduzmemo odgovarajuću brojčanu oznaku prava nad nekim elementom. Ako želimo da nam na nekoj particiji svi folderi imaju 770 oznaku (//kao u primeru 1//) to ćemo izračunati na sledeći način: <code>777-770 = 007</code> znači, potrebna vrednost za dmask je 007. U fstab to unosimo kao //dmask=007// Ako želimo da nam na nekoj particiji svi fajlovi imaju 760 oznaku (//kao u primeru 2//) to ćemo izračunati na sledeći način: <code>777-760 = 017</code> znači, potrebna vrednost za fmask je 017. U fstab to unosimo kao //fmask=017// Kako sada izgleda primer 5? <code>/dev/sda5 /media/podaci ntfs-3g fmask=017,dmask=007 1 0</code> Promene će biti vidljive nakon restarta računara ili posle demontiranja/montiranja svih particija koje su u upotrebi. Prilikom računanja uvek polazite od toga koje vam dozvole trebaju. Na način koji je opisan prvo izračunate oktalnu vrednost željenih dozvola (rwx), a potom dobijeni broj oduzmete od 777. Dobijena vrednost se upotrebljava kao **dmask** (ako su u pitanju folderi) ili **fmask** ako su u pitanju fajlovi.


Navigation

* [[:pocetna_strana|Početna strana]] * [[playground:playground|Igralište]] * [[wiki:syntax|Pomoć]]

QR Code
QR Code osnovno:dozvole (generated for current page)