Mitä tiedostojen oikeudet merkitsevät?

Linuxissa tiedostojen oikeudet näyttävät saat näkyviin esim. käskyllä ls.

Esimerkki 6-11. Tiedoston listaus

$ ls -l
-rwxr-xr-x    1 kvalo    lusers          12 Nov 16 20:42 testi.sh
        

Taulu 6-2. Selitys oikeuksista

Omistaja

Ryhmä

Muut

rwx r-x r-x

Taulu 6-3. Kirjaimien merkitys

Kirjain

Merkitys

r

Lukuoikeus

w

Kirjoitusoikeus

x

Ajo-oikeus

Esimerkki 6-11>:ssa olevan tiedoston omistajalla on oikeus lukea, kirjoittaa tai ajaa. Ryhmässä lusers olevat käyttäjät voivat lukea tai ajaa tiedoston, mutta eivät kirjoittaa. Muut (eli ne jotka eivät kuulu ryhmään lusers) eivät omaa mitään oikeuksia tiedostoon. He eivät voi lukea, kirjoittaa tai ajaa sitä.

Oikeuksien asettaminen

Tiedostojen oikeudet asetetaan chmod-komennolla. Komento ottaa parametrina annettavat oikeudet ja tiedoston tai tiedostojen nimet. Eri käyttäjät kuvataan kirjaimilla u, g ja o. Niiden merkitys on selitetty seuraavassa.

Taulu 6-4. Käyttäjien merkinnät

Kirjain

Käyttäjä

u

Omistaja

g

Ryhmä

o

Muut

Jos halutaan antaa ryhmälle kirjoitusoikeudet tiedostoon se tehdään näin:

$ chmod g+w
          


Muilta käyttäjiltä (eli niiltä jotka eivät ole tiedoston omistaja tai eivät kuulu tiedoston ryhmään) lukuoikeudet otetaan pois seuraavasti.

$ chmod o-r
          

Oikeudet oktaalilukuina

Oikeudet voidaan kuvata myös oktaalina, eli 8-järjestelmän lukuina.

Taulu 6-5. Oktaaliluvut

Merkintä

Arvo

Oikeus

r--

4

Luku

-w-

2

Kirjoitus

--x

1

Suoritus

Muunnos oktaaliksi, eli 8-järjestelmän luvuksi tapahtuu seuraavasti:

rwx == 4+2+1 == 7
rw- == 4+2   == 6
r-x == 4  +1 == 5
        

Ja niin edelleen. Luku on siis maksimi 7 (kaikki ylläolevat yhteensä) ja vähintään 0 (ei mitään oikeuksia). Oikeudet annetaan järjestyksessä omistaja, ryhmä ja muut.

Esimerkiksi oikeus rwxr-x--- annetaan seuraavalla komennolla:

$ chmod 750 testi.sh
        

Sticky bitit lisätään näiden numeroiden eteen. Niiden merkitykset ja kaiken tässä selitetyn löydät manuaalisivulta chmod(1).