Ülevaade
Võrreldes Windows® ja enamiku muude operatsioonisüsteemidega käsitleb GNU/Linux faile üsna omamoodi. Käesolevas osas tutvustame kõige silmatorkavamaid erinevusi, kui soovite aga põhjalikumat infot, siis seda pakub Peatükk 4, Linuxi failisüsteem.
Suurimate erinevuste taga seisab otseselt asjaolu, et Linux on mitmekasutajasüsteem: iga fail kuulub ainult ja ainuüksi ühele kasutajale ja ühele grupile. Me ei maininud kasutajatest kõneldes, et neil kõigil on oma isiklik kataloog (niinimetatud kodukataloog). Iga kasutaja on oma kodukataloogi ja kõigi selles loodud failide omanik. Samuti tuleb märkida, et need failid on seotud teatud grupiga, milleks on antud kasutaja esmane grupp. Nagu mainisime (Sektsioon 1, “Kasutajad ja grupid”), võib üks kasutaja kuuluda korraga mitmesse gruppi, aga ainult üks neist on tema jaoks esmane.
Siiski jääks pelgalt faili omanikust väheseks. Kuid faili omanikuna saab kasutaja määrata selle kasutamise õigused. Õigustega saab teha vahet kolmel kasutajate kategoorial: faili omanik, kõik sellised kasutajad, kes kuuluvad failiga seotud gruppi (kannab ka nimetust omanikugrupp), aga ei ole selle omanikud, ning teised, kelle hulka kuuluvad kõik, kes ei ole ei faili omanikud ega selle omanikugrupi liikmed.
Õigusi on kolme erinevat sorti:
Lugemise õigus (r
): võimaldab kasutajal lugeda faili sisu. Kataloogi korral tähendab kasutaja õigust näha selle sisu (s.t. kataloogis leiduvaid faile).
Kirjutamise õigus (w
): võimaldab muuta faili sisu. Kataloogi korral tähendab kasutaja õigust lisada sellesse faile või neid sealt eemaldada, isegi kui ta ei ole nende failide omanik.
Käivitamise õigus (x
): võimaldab faili käivitada (normaalselt on selline õigus mõttekas ainult käivitatavate failide puhul). Kataloogi korral tähendab kasutaja õigust seda läbida ehk siis kataloogi kas vahe- või lõpp-peatusena siseneda. Pange tähele, et see ei ole sama, mis lugemisõigus: Teil võib olla õigus kataloogi läbida, ilma et Teil oleks õigust selle sisu teada saada!
Õigusi on võimalik igati kombineerida. Te võite näiteks anda endale õiguse mingit faili lugeda ja samas keelata kõigile teistele sellele ligipääsu. Faili omanikuna saate muuta ka selle gruppi (aga ainult siis, kui kuulute ise uude gruppi).
Selgitame seda kõike faili ja kataloogi näitel. Allpool on näha käsu ls -l sisestamise tulemus käsureal:
$ ls -l total 1 -rw-r----- 1 queen users 0 Jul 8 14:11 a_file drwxr-xr-- 2 peter users 1024 Jul 8 14:11 a_directory/ $
Käsu ls -l tulemused on (vasakult paremale) järgmised:
Esimesed kümme sümbolit näitavad faili tüüpi ja selle õigusi. Kõige esimene sümbol tähistab faili tüüpi: kui see on tavaline fail, seisab seal kriips (-
), kui aga kataloog, siis täht d
. Failitüüpe on veelgi, neist teeme juttu hiljem. Ülejäänud üheksa sümbolit näitavad õigusi. Tegelikult on siin lausa kolme õigusterühmaga seotud kolm sümbolirühma. Neist esimene näitab faili omanikuga seotud õigusi, järgmised kolm sümbolit kõigi omanikugruppi kuuluvate kasutajate õigusi ning viimased kolm sümbolit kõigi ülejäänud kasutajate õigusi. Kriips (-
) tähendab, et antud õigust ei ole määratud.
Seejärel on kirjas faili viitade arv. Hiljem näeme, et faili unikaalne identifikaator ei ole mitte selle nimi, vaid number (the inode number) ja et ühel failil võib kettal olla ka mitu nime. Kataloogi korral on viitade arvul spetsiaalne tähendus, millel peatume samuti veidi hiljem.
Lõpuks näidatakse faili suurust (baitides) ja selle viimase muutmise aega ning kõige viimasena ka faili või kataloogi nime.
Vaatame nüüd lähemalt failide õigusi. Kõigepealt jätame kõrvale tüüpi tähistava esimese kriipsu, mille järel failil faili_nimi
on järgmised õigused: rw-r-----
. Selgitame neid nüüd lähemalt.
Esimesed kolm sümbolit (rw-
) näitavad omaniku õigusi, kelleks antud juhul on queen. See tähendab, et kasutajal queen on õigus faili lugeda (r
) ja selle sisu muuta (w
), aga mitte seda käivitada (-
).
Järgmised kolm sümbolit (r--
) käivad kõigi kohta, kes pole queen, kuid kuuluvad gruppi users
. Neil on õigus faili lugeda (r
), kuid mitte seda muuta ehk kirjutada või käivitada (--
).
Viimased kolm sümbolit (---
) käivad kõigi kohta, kes pole queen ega kuulu gruppi users
. Neil kasutajatel ei ole antud failile üldse mingeid õigusi ja nende jaoks on fail sisuliselt “nähtamatu”.
Kataloogi kataloogi_nimi
õigused on rwxr-xr--
, niisiis:
peter kui kataloogi omanik võib näha kataloogis leiduvaid faile (r
), faile kataloogi lisada või neid sealt eemaldada (w
) ning kataloogi ka läbida (x
).
Kõik, kes ei ole peter, aga kuuluvad gruppi users
, võivad näha kataloogis leiduvaid faile (r
), kuid ei saa neid eemaldada ega lisada (-
), küll võivad aga kataloogi läbida (x
).
Kõik ülejäänud kasutajad võivad ainult näha kataloogi sisu (r
). Et neil puuduvad õigused wx
, ei saa nad faile muuta ega kataloogi siseneda.
Toodud reeglitel on üks oluline erand: root
. root
võib muuta kõigi failide atribuute (õigusi, omanikku ja omanikugruppi) ka siis, kui ta ei ole ise omanik, ning kuulutada end näiteks ise faili omanikuks! root
võib lugeda faile, millele tal puudub lugemisõigus, läbida katalooge, kus talle pole sellist õigust antud ja nii edasi. Kui ka root
on ilma mingi õiguseta, võib ta selle iga kell endale ise võtta. root
valitseb täielikult süsteemi, mis ühtlasi tähendab, et Teil peab olema tubli usaldus isiku vastu, kellele omistasite administraatori (root
) parooli.
Lõpuks tasub ära märkida ka erinevusi failinimede käsitlemisel UNIX® ja Windows® maailmas. Kindlasti on UNIX® selles suhtes palju paindlikum ja märksa vähemate piirangutega.
Failinimi võib sisaldada mis tahes sümbolit, sealhulgas mittenähtavaid, välja arvatud ASCII sümbol 0, mis tähistab stringi lõppu, ja /, mida kasutatakse kataloogi eraldajana. Lisaks tuleb arvestada, et kuna UNIX® on tõstutundlik, on failid readme
ja Readme
kaks erinevat faili, sest tähti r
ja R
peetakse UNIX® süsteemides erinevaks.
Vahest panite juba tähele, et failinimel ei pea olema laiendit, kui Te seda just ise ei soovi. Faililaiendid ei tuvasta failide sisu ei GNU/Linuxis ega õigupoolest peaaegu üheski operatsioonisüsteemis. Samas on “faililaiendid” üsna mugavad abivahendid. Punkt (.
) on UNIX® korral lihtsalt üks sümbol teiste seas, kuid sellel on ka eritähendus: nimelt tähistavad UNIX® korral punktiga algavad failinimed “peidetud faile”[1], kusjuures punktiga võivad alata ka kataloogide nimed.
[1] Vaikimisi ei näidata peidetud faile failihalduris, kui Te just seda spetsiaalselt ei soovi. Terminalis tuleb nii tavaliste kui peidetud failide nägemiseks anda käsk ls -a
. Enamasti sisaldavad sellised failid seadistusinfot. Vaadake näiteks oma kodukataloogis (home/
) faile .mozilla
ja .openoffice
.