PITANJE: Kako mijenjati prava pristupa datoteci?

ODGOVOR:
Unix računala su višekorisnička računala čije resurse dijeli više ljudi te se tu javlja problem zaštite datoteka od neovlaštenog čitanja i mjenjanja. Datoteke i direktoriji se mogu zaštiti naredbom chmod. Naredba chmod mijenja prava pristupa datoteci (ili direktoriju). Sintaksa naredbe je:
chmod <prava_pristupa> <imena_datoteka_na_koje_se_zaštita_odnosi>
Prava pristupa se odnose na:
r - pravo čitanja datoteke
w - pravo mjenjanja datoteke (pisanje)
x - pravo izvršavanja datoteke
i to za:
vlasnika datoteke (u),
članove grupe kojoj datoteka pripada (g),
svih ostalih korisnika računala (o)
i svih korisnika računala (a).
Imamo dva načina zadavanja prava pristupa datoteci:

a) Oktalni prikaz prava pristupa
Kod ovog načina prava pristupa se prikazuju s tri oktalne znamenke (brojevi od 0-7). Prva oktalna znamenka se odnosi na vlasnika, druga znamenka se odnosi na grupu kojoj datoteka pripada, a treća na sve ostale korisnike računala.
	oktalna znamenka	       prava
		0			---
		1			--x
      		2			-w-
		3			-wx
		4			r--
		5	 		r-x
		6			rw-
		7			rwx
  
Primjer:
chmod 764 unix.txt - daje vlasniku sva prava, grupi datoteke pravo čitanja i pisanja, a svima ostalima samo pravo čitanja.
chmod 700 *.txt - sve *.txt datoteke čini nedostupnima svima osim vlasnika (i sistem inženjera)
b) Simbolički prikaz prava pristupa
       		u - vlasnik,
       		g - grupa,
       		o - ostali korisnici,
       		a - *svi*
  
Primjer:
chmod u+w,g-r *.c - vlasniku dodaje pravo pisanja, a grupi oduzima pravo čitanja datoteka *.c

Napomena 1.: Prava pristupa datotekama se mogu vidjeti naredbom ls -l odn. ls -al,

	$ ls -al
	-rwxr-xr--  1  damir   student  Nov 17 21:30 .cat
	drwx------  2  damir   gopher   Nov 17 22:12 GOPHER
	-rw-r--r--  1  damir   student  Nov 12 02:01 users.txt
	^^^^^^^^^	     
	||||||||| - prava pristupa (vlasnika,grupe,ostalih) 

Npr. datoteku .cat korisnici koji nisu iz grupe student (osim njenog vlasnika - možda on nije u toj grupi) mogu samo čitati. Oni iz grupe student je smiju i izvršavati, dok vlasnik (damir, bez obzira u kojoj je grupi) ima sva prava.

Napomena 2.: Za kreiranje prava pristupa kod `novonastalih' datoteka koristi se maska koju korisnik može postaviti naredbom umask. Sintaksa naredbe umask je dosta slična sintaksi naredbe chmod (samo što su bitovi obrnuti) npr.

umask 077 - oduzima sva prava svima osim vlasniku datoteke
umask 022 - oduzima prava pisanja svima osim vlasniku datoteke

Dakle, ukoliko želite da vaše datoteke budu incijalno pri nastanku maksimalno zaštićene, u datoteku .profile (ili .bash_profile ili .login) stavite

umask 077

Ako želite saznati više o ovim naredbama, pročitajte manual stranice za njih (pokrenite man chmod odn. man umask).


[ Razno | Sadržaj ]