OPERATIVNI SISTEMI
Pojam fajla - Zaštita fajlova

Fajlovi su namjenjeni za trajno čuvanje podataka. Za uspešnu upotrebu podataka
neophodna je zaštita fajlova, koja obezbijeđuje da podaci, sadržani u fajlu, neće biti izmjenjeni bez znanja i saglasnosti njihovog vlasnika, odnosno, koja obezbijeđuje da podatke, sadržane u fajlu jednog korisnika, bez njegove dozvole drugi korisnici ne mogu da koriste. Podaci, sadržani u fajlu, ostaju neizmjenjeni, ako se onemogući pristup fajlu i radi pisanja (radi izmjene njegovog sadržaja). Takođe, podaci, sadržani u datoteci, ne mogu biti korišćeni, ako se onemogući pristup datoteci, radi čitanja (radi preuzimanja njenog sadržaja). Na ovaj način uvedeno pravo pisanja i pravo čitanja datoteke omogućuju da se za svakog korisnika jednostavno ustanovi koja vrsta upravljanja datotekom mu je dozvoljena, a koja ne. Tako, korisniku, koji ne posjeduje pravo pisanja datoteke, nisu dozvoljena upravljanja datotekom, koja izazivaju izmjenu njenog sadržaja.
Ili, korisniku, koji ne posjeduje pravo čitanja datoteke, nisu dozvoljena upravljanja datotekom, koja zahtijevaju preuzimanje njenog sadržaja. Za izvršne datoteke uskraćivanje prava čitanja je prestrogo, jer sprečava ne samo neovlašteno uzimanje tuđeg izvršnog programa, nego i njegovo izvršavanje. Zato je uputno, radi izvršnih datoteka, uvesti posebno pravo izvršavanja programa, sadržanih u izvršnim datotekama. Zahvaljujući posedovanju ovog prava, korisnik može da pokrene izvršavanje programa, sadržanog u izvršnoj datoteci, i onda kada nema pravo njenog čitanja.
Pravo čitanja, pravo pisanja i pravo izvršavanja datoteke predstavljaju tri prava pristupa datotekama, na osnovu kojih se za svakog korisnika utvrđuje koje vrste upravljanja datotekom su mu dopuštene. Da se za svaku datoteku ne bi evidentirala prava pristupa za svakog korisika pojedinačno, uputno je sve korisnike razvrstati u klase i za svaku od njih vezati pomenua prava pristupa. Iskustvo pokazuje da su dovoljne tri klase korisnika. Jednoj pripada vlasnik datoteke, drugoj njegovi saradnici, a trećoj ostali korisnici. Nakon razvrstavanja korisnika u tri klase, evidentiranje prava pristupa datotekama omogućuje matrica zaštite (protection matrix) koja ima tri kolone (po jedna za svaku klasu korisnika) i onoliko redova koliko ima datoteka. U presjeku svakog reda i svake kolone matrice zaštite navode se prava pristupa datoteci iz datog reda za korisnike koji pripadaju klasi iz date kolone. Na slici 2 je prikazan primjer matrice zaštite.

 

owner

group

other

file1

r w x

r - x

- - x

file2

r w x

- - x

- - x

file3

r w -

- w -

- - -

file4

r w x

- - -

r - -

Slika 2. Matrica zaštite

U primjeru matrice zaštite sa slike 2 vlasnik (owner) datoteke file1 ima sva prava pristupa, njegovi saradnici (group) nemaju pravo pisanja, a ostali korisnici (other) imaju samo pravo izvršavanja (pretpostavka je da je reč o izvršnoj datoteci). Ima smisla uskratiti i vlasniku neka prava, na primjer, da ne bi nehotice izmjenio sadržaj datoteke file2, ili da ne bi pokušao da izvrši datoteku koja nije izvršna (file3). Primijetite i malu nelogičnost za file4.
Za uspjeh izloženog koncepta zaštite datoteka neophodno je onemogućiti neovlašteno mijenjanje matrice zaštite. Jedino vlasnik datoteke smije da zadaje i mijenja prava pristupa (sebi, svojim saradnicima i ostalim korisnicima). Zato je potrebno znati za svaku datoteku ko je njen vlasnik. Takođe, potrebno je i razlikovanje korisnika, da bi se među njima mogao prepoznati vlasnik datoteke. To se postiže tako što svoju aktivnost svaki korisnik započinje svojim predstavljanjem. U toku predstavljanja korisnik predočava svoje ime (username) i navodi dokaz da je on osoba za koju se predstavlja, za šta je, najčešće, dovoljna lozinka (pasword). Predočeno ime i navedena lozinka se porede sa spiskom imena i (za njih vezanih) lozinki registrovanih korisnika. Predstavljanje je uspešno, ako se u spisku imena i lozinki registrovanih korisnika pronađu predočeno ime i navedena lozinka. Predstavljanje korisnika se zasniva na pretpostavci da su njihova imena javna, ali da su im lozinke tajne. Zato je i spisak imena i lozinki registrovanih korisnika tajan, znači, direktno nepristupačan korisnicima. Jedina dva slučaja, u kojima ima smisla dozvoliti korisnicima posredan pristup ovom spisku, su:

  • radi njihovog predstavljanja i
  • radi izmjene njihove lozinke.

Za predstavljanje korisnika uvodi se posebna operacija, koja omogućuje samo provjeru da li zadani par ime i lozinka postoji u spisku imena i lozinki registrovanih korisnika. Slično, za izmjenu lozinki uvodi se posebna operacija, koja omogućuje samo promenu lozinke onome ko zna postojeću lozinku. Sva druga upravljanja spiskom imena i lozinki registrovanih korisnika (kao što su ubacivanje u ovaj spisak parova imena i lozinki, ili njihovo izbacivanje iz ovog spiska) nalaze se u nadležnosti poverljive osobe, koja se naziva administrator (superuser. root, admin, ...). Zaštita datoteka potpuno zavisi od odgovornosti i poverljivosti administratora, odnosno od tačnosti pretpostavke da on neće odavati lozinke, niti ih koristiti, radi pristupa korisničkim datotekama. Zbog prirode njegovog posla, administratora ima smisla potpuno izuzeti iz zaštite datoteka, s tim da on tada svoje nadležnosti mora vrlo oprezno da koristi. Nakon prepoznavanja korisnika (odnosno, nakon njegovog uspešnog predstavljanja), uz  pomoć matrice zaštite moguće je ustanoviti koja prava pristupa korisnik poseduje za svaku datoteku. Da bi se pojednostavila provjera korisničkih prava pristupa, uputno je, umjesto imena korisnika, uvesti njegovu numeričku oznaku. Radi klasifikacije korisnika zgodno je da ovu numeričku oznaku obrazuju dva redna broja. Prvi od njih označava grupu kojoj korisnik pripada, a drugi od njih označava člana grupe. Podrazumijeva se da su svi korisnici iz iste grupe međusobno saradnici. Prema tome, redni broj grupe i redni broj člana grupe zajedno jednoznačno određuju vlasnika. Saradnici vlasnika su svi korisnici koji imaju isti redni broj grupe kao I vlasnik. U ostale korisnke spadaju svi korisnici čiji redni broj grupe je različit od rednog broja grupe vlasnika. Posebna grupa se rezerviše za administratore. Numerička oznaka korisnika pojednostavljuje provjeru njegovog prava pristupa datoteci. Ipak, da se takva provjera ne bi obavljala prilikom svakog pristupa datoteci, umesno je takvu provjeru obaviti samo pre prvog pristupa. Zato se uvodi posebna operacija otvaranja datoteke, koja prethodi svim drugim operacijama (kao što su pisanje ili čitanje datoteke). Pomoću operacije otvaranja se saopštava i na koji način korisnik namerava da koristi datoteku. Ako je njegova namera u skladu sa njegovim pravima, otvaranje datoteke je uspešno, a pristup datoteci je dozvoljen, ali samo u granicama iskazanih namera. Pored operacije otvaranja, potrebna je I operacija zatvaranja datoteke, pomoću koje korisnik saopštava da završava korišćenje datoteke. Nakon zatvaranja datoteke, pristup datoteci nije dozvoljen do njenog narednog otvaranja. Numerička oznaka vlasnika datoteke i prava pristupa korisnika iz pojedinih klasa predstavljaju atribute datoteke.

Pojam fajla    Index