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:
Prava pristupa se odnose na:
r - pravo čitanja datotekei to za:
w - pravo mjenjanja datoteke (pisanje)
x - pravo izvršavanja datoteke
vlasnika datoteke (u),Imamo dva načina zadavanja prava pristupa datoteci:
članove grupe kojoj datoteka pripada (g),
svih ostalih korisnika računala (o)
i svih korisnika računala (a).
- 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 rwxPrimjer:
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
).