Muokataan sivua Tiedoston oikeudet

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
Linuxissa jokaisella [[tiedosto]]lla, [[hakemisto]]lla, [[laitetiedosto]]lla ym. on tietyt oikeudet, jotka kertovat ketkä tiedostoa saavat lukea, kirjoittaa ja suorittaa.
Linuxissa jokaisella [[tiedosto]]lla, [[hakemisto]]lla, [[laitetiedosto]]lla ym on tietyt oikeudet, jotka kertovat ketkä tiedostoa saavat lukea, kirjoittaa ja suorittaa.
 
Tässä artikkelissa kerrotaan perinteisistä [[Unix]]-oikeuksista, nykyään voi niiden lisäksi käyttää myös [[Tiedostojärjestelmän pääsylistat (ACL)|ACL]]-oikeuksia.


==Miksi?==
==Miksi?==
Rivi 9: Rivi 7:
Jokaisella tiedostolla on kolme erillistä oikeutta: kirjoitusoikeus, lukuoikeus ja suoritusoikeus. Voidaan esimerkiksi määrätä, että tiedostoa saavat lukea kaikki käyttäjät mutta vain [[root]] kirjoittaa ja suorittaminen ohjelmatiedostona ei ole sallittua kenellekään. Tällaisia tiedostoja ovat esimerkiksi lähes kaikki [[linuxin hakemistorakenne|/etc-hakemiston]] [[asetustiedosto]]t.
Jokaisella tiedostolla on kolme erillistä oikeutta: kirjoitusoikeus, lukuoikeus ja suoritusoikeus. Voidaan esimerkiksi määrätä, että tiedostoa saavat lukea kaikki käyttäjät mutta vain [[root]] kirjoittaa ja suorittaminen ohjelmatiedostona ei ole sallittua kenellekään. Tällaisia tiedostoja ovat esimerkiksi lähes kaikki [[linuxin hakemistorakenne|/etc-hakemiston]] [[asetustiedosto]]t.


Suoritus- ja kirjoitusoikeuksien merkitys on hakemistojen kohdalla erilainen kuin tavallisilla tiedostoilla. Suoritusoikeus tarkoittaa hakemistolle asetettuna oikeutta päästä käsiksi tiedostoon hakemiston kautta. Kirjoitusoikeus taas tarkoittaa oikeutta luoda hakemistoon uusi tiedosto ja siirtää tai poistaa hakemiston sisältämä tiedosto, riippumatta itse tiedoston oikeuksista.
Suoritus- ja kirjoitusoikeuksien merkitys on hakemistojen kohdalla erilainen kuin tavallisilla tiedoistoilla. Suoritusoikeus tarkoittaa hakemistolle asetettuna oikeutta päästä käsiksi tiedostoon hakemiston kautta. Kirjoitusoikeus taas tarkoittaa oikeutta siirtää tai poistaa hakemiston sisältämä tiedosto, riippumatta itse tiedoston oikeuksista.
 
Oikeus poistaa tiedosto hakemistosta riippuu siis oikeuksista, jotka käyttäjällä on tiedoston sisältämään ''hakemistoon'', ei ''tiedoston'' suojauksista, kuten eräissä muissa käyttöjärjestelmissä. Tämä on loogista, sillä tiedoston poistaminen hakemistosta on hakemiston muokkausta, ja vaatii että käyttäjällä on hakemistoon kirjoitusoikeus. Tiedoston poistaminen hakemistosta poistaa viittauksen (ns. "linkin") tiedostoon hakemistosta, mutta ei välttämättä tuhoa itse tiedostoa – tiedostoon voi olla useampia viittauksia joko samasta tai eri hakemistosta. Kun viimeinen viittaus tiedostoon poistetaan, tiedostolla ei ole enää nimeä tiedostojärjestelmässä. Tällöin käyttöjärjestelmä vapauttaa tiedoston varaamat lohkot massamuistilta.


===Erikoisoikeudet===
===Erikoisoikeudet===
Tiedostoille voidaan lisäksi asettaa niin sanotut '''[[setuid]]'''-, '''setgid'''- ja '''sticky bit''' -oikeudet.  
Tiedostoille voidaan lisäksi asettaa niin sanotut '''setuid'''-, '''setgid'''- ja '''sticky bit''' -oikeudet.  


Suoritettavan ohjelman osalta setuid- ja setgid-oikeudet tarkoittavat, että ohjelma suoritetaan omistajan tai [[ryhmä]]n oikeuksilla riippumatta siitä, kuka ohjelman ajaa (kunhan hänellä on siihen suoritusoikeus). [[Kansion yhteiskäyttö ryhmässä|Hakemiston osalta]] setgid tarkoittaa, että sinne luotavat tiedostot saavat oletuksena saman ryhmän kuin hakemistokin. Hakemiston sgid-bitti ei vaikuta hakemistoon siirrettäviin tiedostoihin.
Suoritettavan ohjelman osalta setuid- ja setgid-oikeudet tarkoittavat, että ohjelma suoritetaan omistajan tai ryhmän oikeuksilla riippumatta siitä, kuka ohjelman ajaa (kunhan hänellä on siihen suoritusoikeus). [[Kansion yhteiskäyttö ryhmässä|Hakemiston osalta]] setgid tarkoittaa, että sinne luotavat tiedostot saavat oletuksena saman ryhmän kuin hakemistokin.  


Sticky bit (suomeksi tahmabitti) hakemistossa estää muita kuin omistajaa, [[pääkäyttäjä]]ä ja kirjoitusoikeuden omaavaa hävittämästä tiedostoa, vaikka hänellä olisi hakemistoon kirjoitusoikeus (tätä käytetään esimerkiksi /tmp-hakemistossa). Tavallisen tiedoston osalta sillä ei ole vaikutusta.
Sticky bit (suomeksi tahmabitti) hakemistossa estää muita kuin omistajaa, [[pääkäyttäjä]]ä ja kirjoitusoikeuden omaavaa hävittämästä tiedostoa, vaikka hänellä olisi hakemistoon kirjoitusoikeus (tätä käytetään esimerkiksi /tmp-hakemistossa). Tavallisen tiedoston osalta sillä ei ole vaikutusta.
Rivi 22: Rivi 18:
==Oikeuksien esittäminen==
==Oikeuksien esittäminen==
Tiedoston oikeudet voidaan merkitä joko numerosarjalla (esimerkiksi <tt>660</tt>) tai kirjainyhdistelmällä (esimerkiksi <tt>-rw-r-----</tt>).
Tiedoston oikeudet voidaan merkitä joko numerosarjalla (esimerkiksi <tt>660</tt>) tai kirjainyhdistelmällä (esimerkiksi <tt>-rw-r-----</tt>).
0 --- ei oikeuksia
1 --x suoritus
2 -w- kirjoitus
3 -wx kirjoitus ja suoritus (2+1)
4 r-- luku
5 r-x luku ja suoritus (4+1)
6 rw- luku ja kirjoitus (4+2)
7 rwx luku, kirjoitus ja suoritus (4+2+1)


===Numeromuoto===
===Numeromuoto===
Numeroyhdistelmässä ensimmäinen numero tarkoittaa tiedoston omistajan oikeuksia, toinen tiedoston ryhmän oikeuksia ja kolmas muiden oikeuksia. Jokaisella tiedostolla on omistaja (joka on oletuksena tiedoston luoja) ja se kuuluu johonkin käyttäjä[[ryhmä]]än. Mahdolliset arvot jokaiselle numerolle ovat:
Numeroyhdistelmässä ensimmäinen numero tarkoittaa tiedoston omistajan oikeuksia, toinen tiedoston ryhmän oikeuksia ja kolmas muiden oikeuksia. Jokaisella tiedostolla on omistaja (joka on oletuksena tiedoston luoja) ja se kuuluu johonkin käyttäjäryhmään. Mahdolliset arvot jokaiselle numerolle ovat:
*0 = ei oikeuksia
*0 = ei oikeuksia
*1 = suoritus
*1 = suoritus
*2 = kirjoitus
*2 = kirjoitus
*3 = kirjoitus ja suoritus (2+1)
*3 = kirjoitus ja suoritus (1+2)
*4 = luku
*4 = luku
*5 = luku ja suoritus (4+1)
*5 = luku ja suoritus (1+4)
*6 = luku ja kirjoitus (4+2)
*6 = luku ja kirjoitus (2+4)
*7 = luku, kirjoitus ja suoritus (4+2+1)
*7 = luku, kirjoitus ja suoritus (1+2+4)


Jolloin esimerkiksi 000 piilottaisi tiedoston sisällön kaikilta eikä antaisi kenenkään muokata sitä (HUOM! omistaja ja [[pääkäyttäjä]] voisivat kuitenkin muuttaa oikeuksia) ja 777 antaisi kaikille kaikki mahdolliset oikeudet.
Jolloin esimerkiksi 000 piilottaisi tiedoston sisällön kaikilta eikä antaisi kenenkään muokata sitä (HUOM! omistaja ja [[pääkäyttäjä]] voisivat kuitenkin muuttaa oikeuksia) ja 777 antaisi kaikille kaikki mahdolliset oikeudet.
Windowsin puolellakin näihin numeroihin voi törmätä nettisivuja tehdessä ja niitä ftp-ohjelmilla palvelimelle lähetellessä. Siellä oikeuksiksi määritellään tavallisesti 774, jolloin siis satunnainen netinkäyttäjä saa oikeuden 4.
Erikoisoikeuksien numerot:
*0 ei erikoisoikeuksia
*1 sticky bit, tahmabitti
*2 sgid
*4 suid
Esimerkiksi jaetun kansion oikeuksiksi sopii 2770 tai 2750.


===Kirjainmuoto===
===Kirjainmuoto===
Rivi 86: Rivi 63:


Erikoisoikeudet (setuid, setgid ja sticky bit) voidaan asettaa joko numeerisesti (4000, 2000 ja 1000 ylläselitetyn mukaisesti) tai kirjaimin (u+s, g+s ja +t).
Erikoisoikeudet (setuid, setgid ja sticky bit) voidaan asettaa joko numeerisesti (4000, 2000 ja 1000 ylläselitetyn mukaisesti) tai kirjaimin (u+s, g+s ja +t).
Jos esimerkiksi käyttäjän kotihakemiston oikeudet ovat menneet jostain syystä sekaisin, ne voidaan palauttaa seuraavalla komennolla:
chmod -R ug+rwX /home/käyttäjä


===Oletusoikeudet===
===Oletusoikeudet===
Rivi 97: Rivi 71:


Tavallisesti tämä tapahtuu klikkaamalla tiedoston kuvaketta [[hiiri|hiiren]] kakkosnäppäimellä ja valitsemalla ''Ominaisuudet''.
Tavallisesti tämä tapahtuu klikkaamalla tiedoston kuvaketta [[hiiri|hiiren]] kakkosnäppäimellä ja valitsemalla ''Ominaisuudet''.
==Esimerkkioikeuksia palvelinkäyttöön==
644 – Tavallinen tiedosto. <br>
700 – Jotkin skriptit. Hakemistot, joiden sisältö ei näy selaimen kautta.<br>
711 – Hakemisto ilman tiedostolistausta. Sisällön voi kuitenkin lukea, jos tietää osoitteen.<br>
755 – Hakemisto, josta näytetään tiedostolistaus.<br>
777 – PHP-skripteissä ''joillakin'' palvelimilla safemoden vuoksi. Käytettävä varoen!


== Katso myös ==
== Katso myös ==
Rivi 110: Rivi 77:
*[[Chgrp]] - asettaa tiedoston [[ryhmä]]n
*[[Chgrp]] - asettaa tiedoston [[ryhmä]]n
*[[Chattr]] - asettaa tiedostoattribuutteja
*[[Chattr]] - asettaa tiedostoattribuutteja
==Aiheesta muualla==
*[http://www.flug.fi/ohjeita/oikeudet.html Opas tiedostojen oikeuksista FLUGin sivuilla]


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Ohjeet]]
[[Luokka:Ohjeet]]
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Tiedostojärjestelmät]]
[[Luokka:Käyttäjät ja ryhmät]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)