Linux/Unix failiõigused

From ICO wiki
Jump to navigationJump to search

POOLELI Sten Vaisma A22


Sissejuhatus

Igal failil süsteemis, peab olema määratud kes võib sellega mida teha. Failiõigused on defineeritud kasutajatele, gruppidele ja kõikidele teistele kes ei ole faili omanikud ning ei kuulu antud gruppi (others). Iga kasutaja kuulub ühte või mitmesse gruppi. Samuti kuulub iga fail mingile kasutajale ning seega ka kasutaja gruppi. Kui kasutaja loob faili, siis on ta selle faili omanikuks. Samuti looja grupp ning kausta grupp kus fail asub, on seostatud selle failiga. Kasutades gruppe, saab piirata/lubada tegevusi teatud hulgal inimestel, mis on töökeskkonnas hädavajalik.

Kasutajad ja Õigused

Igale failile on määratud kolme tüüpi kasutajad:

user ( u ) - kasutaja kes omab/kontrollib faili

group ( g ) - grupp kes omab/kontrollib faili

others ( o ) - igaüks kes ei ole omanik ega ka grupis 

Kasutajatele on määratud kolme tüüpi õigused:

read ( r ) - annab võime lugeda faili. Kui aga see on määratud kataloogile,
siis võimaldab lugeda faili nimesi selles kaustas(küll aga mitte saada
lisainfot nt faili tüüp, suurus, õigused jne ) 

write ( w ) - kirjutamis õigus, mis annab võime muuta faili.
Kui määratud kataloogile, siis annab võime muuta sisestusi 
selles kaustas nn failide loomine/kustutamine, ümbernimetamine.

execute ( x ) - annab võime avada/käivitada faili. Kui on aga määratud kaustale,
võimaldab läbida alamkataloogide puu, ligipääseda failidele. 
Küll aga ei võimalda failide sisu näha (kui just read pole määratud)  

Kuidas näha failiõigusi

Et näha mis õigused failil on, tuleb sisestada:

ls -l failinimi/kaustanimi
ls -l (et näha kõiki faile ja katalooge)

kriips (-) tähendab et õigust ei ole määratud

Kuidas muuta failiõigusi

Failiõigusi saab muuta kasutades käsku "chmod".

Näiteks kui Malle tahab anda minufaili kirjutamisõiguse administraatoritele, siis ta kirjutab:

chmod g+w minufail

g tähendab faili gruppi (administraatorid)

w tähendab kirjutamiõigust

+ tähendab andmist


chmod kasutatakse nelja parameetri järgi:

-Kasutajate tüüp kellel õigusi muuta (u - user, g -gruop, o - others, kas kombintatsioon nendest või "a" et määrata kõik)

-Mis tüüpi muudatust teha("+" et lisada õigus, "-" et õigus ära võtta, "=" et määrata õigused)

-Millised muudatusi õigustes teha(r - read, w - write, x - execute)

-Fail või grupp faile, millele muudatusi teha (failinimi)

Kausta õigused vs. failiõigused

LINUX/UNIX keskkonnas käivad kõik õigused ülevalt alla "topdown". See tähendab, kui keelata näiteks group õigused mingil kaustal, siis kõik alamkaustad ja failid pärivad samad õigused, kuigi visuaalselt seda näha ei ole. Näiteks kui õigused kaustale projekt on: drwxr-xr-x ja õigused kaustale projekt1 on: drwxr-xr-x. Keelates grupil ja teistel sisenemine kausta projekt, ehk õigused oleks drwx------, siis alamkausta projekt1 õigused jäävad visuaalselt samaks: drwxr-xr-x. Ainult et group ja others liikmetel tegelikult ei ole õiguseid mis on näidatud alamkaustal projekt1. Sama süsteem toimub, ainult et taguripidi, kui luua alamkaust ning määrata õigused lubamaks kasutajatel ja teistel siseneda kausta. Neil ei ole võimalik kausta siseneda kui puudub õigus siseneda kõikidesse eelnevatesse kaustadesse.

Octal System (kaheksandsüsteem)

Tihtipeale administraatorid kasutavad ka arvu süsteemi, mis asendab senised u,g,o ja a,r,w,x numbritega. Peamiselt eelistatakse seda kasutada just töö kiiremaks muutmise pärast. Samuti nende käskudega mitte ei lisata/võeta õigusi vaid ainult määratakse neid, seega võib tulemustes kindel olla.


Õiguste väärtused

-  0
x  1
w  2
r  4


---  0
--x  1
-w-  2
-wx  3
r--  4
r-x  5
rw-  6
rwx  7


Näide:

chmod 750 minufail 

750 tähendab: 7(rwx) omanikule, 5(r-x) grupile ning 0(---) teistele

Eelnev käsk on võrdne käsuga:

chmod u=rwx,g=rx myfile; chmod o-rwx minufail

Faili omaniku/grupi muutmine

Faili omanikuks saab määrata ka mingit teist kasutajat või gruppi. Kasutades käsku chown saab muuta faili omaniku ning chgrp käsuga faili gruppi, kuhu ta kuulub.

Näide: Malle tahab minufaili omanikuks teha hoopis Kalle, siis ta kirjutab:

chown Kalle minufail

Kalle tahab hiljem minufaili teha saadavaks ainult grupile bossid:

chgrp bossid minufail

Sama saab korda saata ka "chown" käsuga:

chown Kalle:bossid minufail

Sticky Bit

Kui vaadata kausta /tmp õigusi, siis näeb seal järgmist:

clem@pluto:/$ ls -l | grep tmp
drwxrwxrwt   10 root root  4096 2006-03-10 12:40 tmp

Et lisada/kustutada sticky bit, kasuta:

chmod +t tmp
chmod -t tmp

SGID atribuut kaustale

Kui kaustale on määratud SGID (Set Group Identification) siis failid mis sinna kausta luuakse pärivad tema grupi õigused.Kui aga SGID pole määratud, siis faili grupi õigused vastavad kasutaja algsele grupile.

Et lisada/kustutada SGID kaustal:

chmod g+s kaust
chmod g-s kaust

Kui see on paika pandud, siis SGID on määratud tähega s mis asendab x-i grupi õigustes:

ls -l kaust
drwxrwsr-x  10 Kalle administrators  4096 2006-03-10 12:50 kaust


Kasutatud kirjandus

http://help.unc.edu/217

http://www.linuxforums.org/articles/file-permissions_94.html

http://en.wikipedia.org/wiki/Filesystem_permissions

http://blogs.simplythebest.net/RadianT/4/UnixLinux+File+Permissions.html