Prava pristupa datotekama u sistemima zasnivanim na Unixu


U Unixu prava pristupa su definisana za tri vrste korisnika:

  1. Vlasnik datoteke - u
  2. Korisnici grupe datoteke - g
  3. Ostali (svi koji ne pripadaju prethodne dve definicije) - o

Svakoj od prethodne tri grupe su definisana sledeca tri prava:


Prava pristupa u Unixu je moguce promeniti komandom chmod.

chmod ima dva obavezna argumenta: prava pristupa koje dodeljuje i ime datoteke(ili direktorijuma) kojoj dodeljuje prava.

Prava pristupa koja se dodeljuju mogu da se sintaksno zapisu teksutalno ili numericki.


Tekstualno se zapisuju koriscenjem oznaka korisnicima kojim se prava dodeljuju(u,g,o,a),operatora dodeljivanja(+,-,=) i prava koja im se dodeljuju(r,w,x).

Oznaka Ime Znacenje
u user Vlasnik datoteke
g group Clanovi grupe datoteke
o others Ostali korisnici koji nisu ni calnovi grupe datoteke ni vlasnik
a all Svi korisnici (ugo)

Operatori imaju sledeca znacenja:

Oznaka Znacenje
+ Dodaje navedena prava pristupa
- Uklanja navedena prava pristupa
= Definise navedena prava kao nova prava pristupa

Prava pristupa definisana u Unix sistemu su:

Oznaka Ime Znacenje
r read Citanje datoteke ili sadrzaja direktorijuma
w write Pisanje u datoteku ili direktorijum
x execute Izvrsavanje koda datoteke

Primeri:

chmod a+rw file.txt

Ovom komandom se dodeljuju prava svim korisnicima da pisu i citaju datoteku pod nazivom "file.txt".

chmod o-x file.exe

Ovom komandom se ostalim korisnicima (svi koji nisu vlasnik ili clanovi grupe datoteke) oduzima pravo da izvrsavaju datoteku pod imenom "file.exe".

chmod uo=rx file.exe

Ovom komandom se definise da vlasnik i ostali korisnici imaju prava samo da citaju i izvrsavaju datoteku pod imenom "file.exe".


Numericki se prava dodeljuju definisanjem prava za sve tri vrste korisnika u njihovoj numerickoj vrednosti. Tri bita su dodeljena za sve tri vrste korisnika koja definisu njihova prava pristupa datoteci. Prva tri bita definisu pravo citanja,pisanja i izvrsavanja za vlasnika datoteke, sledeca tri za grupu datoteke i poslednja tri za ostale korisnike.

Ovih devet bitova mozemo da predstavimo na sledeci nacin:

user group other
rwx rwx rwx

Za svaku vrstu korisnika mozemo dodeliti broj u dekadnom sistemu konverzijom vrednosti tri navedena bita. Ovim postupkom dobijamo tri broja u intervalu [0,7] kojim definisemo nova prava za datoteku. Prvi bit ima vrednost 4 u dekadnom sistemu koji oznacava pravo citanja datoteke, drugi vrednost 2 koji oznacava pravo pisanja i treci ima vrednost 1 koji oznacava pravo izvrsavanja. Sabiranjem ova tri broja dobijamo numericku vrednost prava za svaku od tri vrste korisnika.

user group other
r w x r w x r w x
4 2 1 4 2 1 4 2 1

Primeri:

chmod 777 file.txt

Ovom komandom definisemo da sve tri vrste korisnika imaju sva tri prava nad datotekom pod imenom "file.txt".

chmod 755 file.exe

Ovom komandom definisemo da vlasnik ima sva prava nad datotekom pod imenom "file.exe", a svi ostali imaju samo prava pisanja i izvrsavanja koda datoteke.

chmod 640 file.txt

Ovom komandom definisemo da vlasnik ima samo pravo pisanja i citanja datoteke pod imenom "file.txt", a grupa datoteke ima samo pravo citanja. Ostali korisnici nemaju nikakva prava koriscenja navedene datoteke.


Citanje prava pristupa datoteka i direktorijuma

U Unixu prava pristupa datoteka se cita uz pomoc komande ls. Za prikaz prava pristupa potrebno je koristiti argument za dugacki format liste -l.

Primer koriscenja komande ls -l

Primer koriscenja ls -l