Chmod

From EIK wiki

Sissejuhatus

Käesolev referaat on kirjutatud IT Kolledži aine "Operatsioonisüsteemide administreerimine ja sidumine" raames. Referaadis annan ülevaate Linux/Unixi põhistes operatsioonisüsteemides kasutatavast käsust "chmod", millega on võimalik juurkasutaja õigustes oleval kasutajal või faili/kataloogi omanikul muuta failide või kataloogide lugemise, kirjutamise ja käivitamise õiguseid. Lisaks käsitlen antud referaadis mõningaid teisi mõisted ja Unixsi põhiseid käske, mis on seotud chmodiga, et anda antud teemast põhjalikum ülevaade.

Referaat on mõeldud algtasemel olevatele Linux/Unixsi laadsete operatsioonisüsteemide kasutajatele, kellel on mõningad eelnevad kokkupuuted ja teadmised Linux/Unixi käsureast.

Referaadi koostamisel on kasutatud Ubuntu Server Edition 10.10 32-bitist versiooni. Üldjuhul peaks antud referaadis käsiteltud teemad ja käsud olema kasutatavad kõikides Linux/Unixi laadsetes operatsioonisüsteemides. Käsurea käsud ja nende väljundid on referaadis esitatud sinisel taustal, ümbritsetud sinise katkendjoonega.

Failiõigused

Failidele ja kataloogidele on vaja igas operatsioonisüsteemis panna paika reeglid ehk õigused, sest see muudab süsteemi turvalisemaks ja töökindlamaks. Turvalisemaks muutub süsteem sellepärast, et kasutajad saavad ligi ainult nendele failidele, millele neil on õigus, ning nad ei saa käivitada programme, millega oleks võimalik rikkuda süsteemi tööd. See tagab ka töökindluse. Linux/Unixi laadsetes süsteemides on seadmed ja kataloogid failid, mistõttu saab seadmeid ja katalooge kasutada samamoodi, nagu faile - nii nagu kasutajatele õiguseid on antud. Igal failil on eraldi õigused omanikule, grupile ja teistele kasutajatele. Faili omanikku ja gruppi on võimalik vahetada vastavalt käsklustega "chown" ja "chgrp". Linux/Unixi laadsetes operatsioonisüsteemides saab muuta failiõiguseid käsuga „chmod“.

Failiõiguste vaatamine:

 ls -l

Käsu ls –l väljund:

 total 136
 -rw-r--r-- 1 root root  0 2011-03-22 10:51 012345.txt
 -rw-r--r-- 1 root root  69850 2011-03-22 10:56 jobs.txt
 drwxr-xr-x 2 root root 4096 2011-04-25 16:00 uuskataloog

Väljundi esimeses tulbas on kirjas faili õigused (näiteks: drwxr-xr-x). Esimene märk reas tähistab faili (faili tähistab „-“ märk) või kataloogi (kataloogi tähistab „d“ täht). Kolm järgmist märki näitavad omaniku õiguseid, järgmised kolm grupi õiguseid ja viimased kolm märki näitavad teiste kasutajate õiguseid. Lugemisõigus – "r", kirjutamisõigus – "w", käivitamis õigus – "x", õigus puudub – "-" (välja arvatud esimene sümbol).

Chmod

Linux/Unixi laadsetes operatsioonisüsteemides kasutatakse failiõiguste muutmiseks käsurea käsku "chmod", millega on võimalik lisada, eemaldada ja seada vastavad õigused faili omanikule, faili omavale grupile ning teistele kasutajatele. Failiõiguseid saab seada käsu "chmod" abil kahel viisi. Esimeseks mooduseks on kasutada sümbolitest koosnevaid võtmeid ja operaatoreid. Teiseks võimaluseks on kasutada numbrilist esitust.

Nagu igal Linux/Unix käsurea käsul, on võimalik vaadata ka chmod-il manuaali või help faili.

Manuaali vaatamine:

 man chmod 

Käsu "man chmod" väljund


Help-i vaatamine:

 chmod --help

Käsu "chmod --help" väljund

Õiguste muutmine: Sümbolitega

Kasutajaõiguste seadmiseks tähtede ehk sümbolitega on vaja teada, kelle õiguseid muudetakse ehk subjekti, milliseid õiguseid muudetakse, millised õigused andakse, ning faili või kataloogi nime. Subjektiks võib olla omanik, grupp ja teised kasutajad. Igal subjektil on oma tunnus (näiteks omaniku tunnuseks on "u" täht). Anda saab lugemise, kirjutamise ning käivitamise õiguseid. Lisaks tuleb kasutada ka operaatoreid, millega vastavalt lisatakse, eemaldatakse või seatakse vastavad õigused.

Käsu "chmod" kasutamine sümbolitega:

 chmod kellel_õigust_muudetakse millised_õigused_failile_andakse faili_nimi

Subjektide võtmed

Võti Subjekt Kirjeldus
u user (omanik) Õigused määratakse faili omanikule.
g group (grupp) Õigused määratakse grupile.
o other (teised kasutajad) Õigused määratakse teistele kasutajatele, kes ei kuulu gruppi ja ega ole omanik.
a all (kõik kasutajad) Õigused määratakse kõigile kasutajatele. Sama, mis kasutades võtit „ugo“.

Õiguste võtmed

Võti Õigus Kirjeldus
r read Lubab lugeda faili või näha kataloogis olevaid objekte ehk kasutada korraldust "ls".
w write Lubab kirjutada faili või lisada, muuta, kustutada kataloogi.
x execute Laseb käivitada faili või sisenda kataloogi käsuga "cd".
s Omaniku või grupi õigustes käivitamine. Kataloogi puhul saavad sinna loodud failid grupi või omaniku omandused.
t Sticky bit kataloogi puhul lubab faile muuta ja kustutada vaid omanikul.
- Ei saa kasutada õiguste andmise võtmena. Näitab käsu "ls -l" väljundis vastava õiguse puudumist (välja arvatud esimene sümbol).

Operaatorid

Operaator Kirjeldus
+ Lisab failile või kataloogile õiguse(d).
- Eemaldab faililt või kataloogilt õiguse(d).
= Seab failile või kataloogile ainult vastavad õigused.


Näited

Anname faili n2ide.txt omanikule kirjutamise õiguse:

 chmod u+w n2ide.txt 

Anname faili n2ide.txt grupile ja teistele kasutajatele kõik õigused:

 chmod go+rwx n2ide.txt 

Anname faili n2ide.txt grupile juurde lugemise õiguse ja omanikule kõik õigused:

 chmod u+xrw,g+r n2ide.txt 

Anname faili n2ide.txt kõikidele kasutajatele lugemise õiguse:

 chmod a+r n2ide.txt 

Võtame faili n2ide.txt grupilt lugemise õiguse:

 chmod g-r n2ide.txt 

Teeme faili n2ide.txt kõikidele kasutajatele ainult loetavaks:

 chmod a=r n2ide.txt

Õiguste muutmine: Numbritega

Lisaks sümbolitele ehk tähetedele, saab Linux/Unix süsteemides, anda failidele õiguseid, ka araabia numbrite abil (0-7). Igal numbril on oma tähendus, mis saadakse õiguste liitmisel. Siit järeldub, et 8 numbri tähenduse asemel tuleb meelde jätta neli numbrit (0 - õigused puuduvad, 1 - annab käivitamisõiguse , 2 - annab kirjutamisõiguse ,4 - annab lugemisõiguse). Ülejäänud õiguste summad tekivad vastavalt arvude 0, 1 ,2 ja 4 liitmisel (vaata tabelit). Numbrilist meetodit kasutades tuleb arvestada asjaoluga, et alati muudetakse omaniku, grupi ja teiste õiguseid ehk pole võimalik anda õigusi ainult grupile või omanikule. Sellepärast tuleb hoolega jälgida, kas andsite soovitud õigused failile või kataloogile. Kolme numbriga õiguste muutmise puhul esimene number tähistab omaniku, teine grupi ja viimane teiste kasutajate õigusi.

Käsu "chmod" kasutamise süntaks numbritega:

 chmod OmanikuÕigusteNR_GrupiÕigusteNR_TeisteKasutajateNR faili_nimi

Numbritest koosnevad võtmed

Numberiline võti Tähtedest koosnevad võtmed Kirjeldus
0 --- Kõik õigused puuduvad.
1 --x Annab failile käivitamisõiguse või lubab siseneda kataloogi.
2 -w- Lubab kirjutada faili või lisada, muuta, kustutada kataloogi.
3 -wx Lubab käivitada ja kirjutada faili või lubab sisenda, lisada, muuta, kustutada kataloogi.
4 r-- Lubab lugeda faili või näha kataloogis olevaid objekte.
5 r-x Lubab lugeda ja käivitada faili või siseneda kataloogi ja näha seal olevaid objekte.
6 rw- Lubab lugeda ja kirjutada faili või lubab lisada, muuta, kustutada ja näha kataloogis olevaid objekte.
7 rwx Annab kõik kõigused.

Näited

Muudame faili n2ide.txt õiguseid nii, et kellelgi pole mitte ühtegi õigust.

 chmod 000 n2ide.txt

Muudame faili n2ide.txt õiguseid nii, et omanikul on käivitamise, grupil kirjutamise ja teistel kasutajatel kirjutamise ja käivitamise õigus.

 chmod 123 n2ide.txt

Muudame faili n2ide.txt õiguseid nii, et kõigil on kõik õigused.

 chmod 777 n2ide.txt

Kasutatud kirjandus

http://ss64.com/bash/chmod.html

http://www.zzee.com/solutions/chmod-help.shtml

http://www.eenet.ee/EENet/assets/docs/abs/chmod.html

http://kuutorvaja.eenet.ee/kasutamine/os/failioigused.html

http://www.computerhope.com/unix/uchmod.htm

Autor ja versioonid

Autor: Andres Mill A22

Versioon Kuupäev Kommentaar
0.1 24.04.2011 Valmis referaadi "chmod" esimene versioon - sissejuhatus, failiõigused, chmod.
0.2 02.05.2011 Tegin mõned muudatused ning parandused. Valmis hindamiseks.