Predchozi Obsah
Predchozi: Disky Obsah: Operacni systemy

Soubory a systemy souboru


Struktura souboru na disku

Moderni OS pouzivaji temer vyhradne hiearchicky system souboru (adresare, podadresare, ...). Ve starych OS nebyl (CP/M, OS-MFT, OS-MVT, IBM v 60. letech, MS-Windows).

Existuji ruzne pristupy k vice diskum:

Ve starsich OS byla znacna omezeni na jmena souboru: kratka jmena (CP/M maximalne 6+3 znaky, MS-DOS 8+3, Unix 14), nerozlisuji se mala a velka pismena, mnozina znaku, ktere mohou tvorit jmeno souboru je znacne omezena. Novejsi OS casto rozlisuji mala a velka pismena, povoluji specialni znaky (mezera, +, !, :) a narodni znaky (escrzyaie...). V pojmenovavani souboru vyvoj smeruje k dlouhym jmenum (desitky znaku).


Generacni soubory

Udrzuji se i starsi verze souboru. Pro odkaz na soubor, lze pouzivat bud pouze jmeno (odpovida nejnovejsi verzi souboru) nebo jmeno;generace. V OS VMS jsou generacni soubory soucasti systemu. V Unixu se resi programove (RCS - Revision Control System).

OS zpravidla o souboru udrzuje dalsi informace:

Atributy (jen pro cteni, apod.). MS-DOS atributy:

R read-only, jen pro cteni
H hidden, skryty
S system, systemovy
A archive, nebyl archivovan

Datumy a casy; u nekterych systemu jeden u jinych vice:

Typy souboru (Macintosh)

V nekterych systemech jsou soubory cleneny na datovou cast a resource cast (texty, obrazky, ikony, dialogy). Tyto OS zpravidla umoznuji zmenu resource casti programu bez nutnosti noveho prekladu programu. U pocitacu Macintosh skutecne dve casti souboru; programy v MS-Windows - vse v jednom souboru.

Odkazy v systemu souboru (v Unixu link, na pocitacich Macintosh zastupci)


Pristupova prava v OS UNIX

Unix umoznuje pro kazdy soubor nebo adresar definovat prava pro vlastnika, skupinu a pro ostatni uzivatele. Vlastnik neprebira prava skupiny a ostatnich. Vlastnik souboru muze byt jen jeden. V nekterych Unixech muze uzivatel byt v danem okamziku clenem vice skupin, v jinych muze menit clenstvi ve skupine, ale v kazdem okamziku muze byt clenem pouze jedne skupiny. V nasledujici tabulce vlastnik nemuze nic, skupina muze cist a ostatni mohou vsechno. Zpravidla vsak nema vlastnik mensi prava nez skupina a skupina nema mensi prava nez ostatni.

Vlastnik Skupina Ostatni
--- r-- rwx

Prava k souborum

r cteni obsahu souboru
w zmena obsahu souboru
x spousteni souboru (vsechny programy mosi mit 'x')
pro mazani a prejmenovavani souboru staci mit prava 'wx' v adresari

Prava k adresarum

r lze pouze precist jmena souboru a podadresaru daneho adresare (nic
jineho, nelze ani zjistit, zda se jedna o soubory nebo podadresare)
w samo o sobe neni k nicemu; spolu s pravem x umoznuje vytvoreni,
prejmenovani a zruseni souboru a prazdnych podadresaru v adresari
x umoznuje se prepnout do adresare, cteni a zapis do souboru, zmena vlastnika
a prav souboru a podadresaru, neni-li pravo r, je nutne znat jmena souboru
v adresari

Prava setuid, setgid

Nazev pochazi ze slov nastavit uid a gid (User Identifier = cislo uzivatele, Group Identifier = cislo skupiny).

Jestlize ma program nastaveno pravo setuid (misto prava x pro vlastnika se vypisuje s), ma uzivatel pri jeho spusteni stejna prava jako vlastnik programu. Podobne funguje setgid pro skupinu.

Priklad pouziti: v Unixu jsou informace o uzivatelich (vcetne zakodovanych hesel) ulozeny v souboru /etc/passwd. Jeho vlastnikem je root (spravce systemu) a prava jsou rw-r--r--. Soubor tedy muze kdokoli cist, menit jej vsak smi pouze root. Aby si uzivatele mohli sami menit hesla, ma program, ktery se pouziva pro zmenu hesel, nastaveno pravo setuid (a jeho vlastnikem je root).

Vyse zmineny program musi byt ale spolehlivy a delat jen to co ma, jinak narusime bezpecnost systemu (napr. jakykoliv uzivatel bude moci zmenit jinym uzivatelum hesla a pak zneuzit jejich konta).

U nekterych Unixu se pouziva tzv. ACL (Acces Control List). Pro kazdy soubor a adresar existuje seznam uzivatelu a skupin, u kazdeho jsou uvedena prava (podobne jako u Novellu).


Pristupova prava v OS Novell Netware 3.x

Pravo Adresar Soubor
S (supervisory) vsechna prava pro adresar vsechna prava k souboru
a cely podstrom neomezen
maskou zdedenych prav
muze pridelovat prava ostatnim
R (read) otevrit a cist soubory otevrit a cist soubor
(neni-li F, musi znat jmeno
souboru)
W (write) otevrit a zapisovat do exist. zapisovat do souboru
souboru
C (create) vytvaret soubory a adresare, obnovit soubor (SALVAGE)
zapisovat do nove vytvorenych po smazani
souboru
E (erase) smazat soubory nebo prazdne smazat soubor
adresare
M (modify) menit jmena a atributy souboru -> totez
a podadresaru (ne mazat a
menit jejich obsah)
F (file scan) je videt obsah adresare po DIR videt soubor pri DIR
A (acces control) umoznuje menit prava ostatnich -> totez
uzivatelu (s vyjimkou S)
i ta co sami nemame

U kazdeho adresare a souboru lze definovat seznam tvoreny dvojicemi: uzivatel nebo skupina - prava. Uzivatel muze byt clenem vice skupin. Vysledna prava jsou sjednocenim prav uzivatele a vsech skupin, kterych je clenem. Navic se prava prebiraji z nadrizeneho adresare (dedeni). Toto prebirani prav je mozne pro jednotlive adresare omezit tzv. maskou dedicnych prav.

Atributy pro soubory a adresare:

H hidden skryty soubor, nevypise se pri DIR
S system systemovy soubor, nevypise se pri DIR
D delete inhibit nelze smazat
R rename inhibit nelze prejmenovat
P purge nelze obnovit po smazani

Atributy pouze pro soubory:

A archive nebyl archivovan
Ro read only pouze pro cteni
Rw read write pro cteni i pro zapis
X execute only nelze kopirovat, pouze spustit
I indexed pro urychleni pristupu k velkym souborum
T transactional lze definovat transakce = sady akci, ktere se
bud provedou cele, nebo se soubor automaticky
obnovi do puvodniho stavu
S shareable sdilitelny soubor -> muze ho otevrit vice
uzivatelu soucasne


Uzamykani souboru a jejich casti

Pri zapisu do souboru (databaze) se cely soubor nebo urcita cast souboru uzamkne a ostatni procesy nebo uzivatele nemohou po dobu uzamceni obsah prislusne oblasti menit (nebo ani cist). Pouziva se napriklad pro pristup k databazim (priklad: databaze mistenek pristupna z nekolika predprodeju v ruznych mestech).


Sdileni souboru

Pri otevreni souboru se definuje:


Kvoty

Omezeni prostoru na disku (discich) zabraneho jednim uzivatelem. Pouziva se u NOVELL, Unix, VMS. Casto se pouziva tvrda a mekka kvota. Tvrdou nelze v zadnem pripade prekrocit, mekkou lze prekrocit na omezenou dobu.


Predchozi Obsah
Predchozi: Disky Obsah: Operacni systemy