Muokataan sivua Tiedostojärjestelmän pääsylistat (ACL)
Siirry navigaatioon
Siirry hakuun
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: | ||
Linux tukee joillakin tiedostojärjestelmillä niin sanottuja | '''DRAFT! TÄMÄ EI OLE VIELÄ VALMIS.''' | ||
Linux tukee joillakin tiedostojärjestelmillä niin sanottuja pääsylistoja, englanniksi access control list (ACL). Pääsylistoilla voidaan Linuxin [[Tiedoston oikeudet|perinteisiä tiedoston oikeuksia]] joustavammin hallita kenellä on pääsy eri tavalla käsitellä tiedostoja ja hakemistoja. Tavallisella Linuxin pääsyoikeusmekanismilla ei esimerkiksi ole mahdollista antaa kahdelle tai useammalle ryhmälle räätälöityjä oikeuksia tiedostoon. | |||
==Taustaa== | ==Taustaa== | ||
Unixissa ja sitä myötä Linuxissa ei perinteisesti ole ollut tukea pääsylistoille, vaikka joissakin muissa käyttöjärjestelmissä ne ovat olleet käytössä jo 1960-luvulla. Unixin ACL:n standardointia varten perustettiin | Unixissa ja sitä myötä Linuxissa ei perinteisesti ole ollut tukea pääsylistoille, vaikka joissakin muissa käyttöjärjestelmissä ne ovat olleet käytössä jo 1960-luvulla. Unixin ACL:n standardointia varten perustettiin POSIX-työryhmä, joka ei kuitenkaan saanut työtänsä päätökseen. Työryhmän työn tuloksena jäi kuitenkin "POSIX 1003.1e Draft 17", joka oli viimeinen työversio jonka ryhmä sai aikaiseksi ennen rahoituksen loppumista. Tämän työversion pohjalta toteutettiin ACL:t Linuxin kernel-versioon 2.5.46 vuonna 2002. | ||
"POSIX draft"-ACL:ien lisäksi on | "POSIX draft"-ACL:ien lisäksi on NFSv4-verkkotiedostojärjestelmää varten olemassa oma ACL-spesifikaatio ja toteutus. Tällä sivulla keskitytään kuitenkin "POSIX draft ACL"-pääsylistoihin. | ||
==Järjestelmävaatimukset== | ==Järjestelmävaatimukset== | ||
Rivi 53: | Rivi 55: | ||
-rw-r--r--+ 1 jem users 0 Sep 14 19:28 juttu.txt | -rw-r--r--+ 1 jem users 0 Sep 14 19:28 juttu.txt | ||
sillä voi kuitenkin olla pääsylista, jonka mukaan <tt>staff</tt>-ryhmällä on kirjoitusoikeus tiedostoon. Tämä ei ole yhteensopivaa POSIX.1-standardin mukaan. POSIX.1 ei salli, että tiedostoihin on maagisesti oikeuksia joillekin käyttäjille, mekanismilla jota se ei tunne. Tämän ongelman ratkaisemiseksi pääsylistoihin kuuluu myös <tt>mask</tt>- | sillä voi kuitenkin olla pääsylista, jonka mukaan <tt>staff</tt>-ryhmällä on kirjoitusoikeus tiedostoon. Tämä ei ole yhteensopivaa POSIX.1-standardin mukaan. POSIX.1 ei salli, että tiedostoihin on maagisesti oikeuksia joillekin käyttäjille, mekanismilla jota se ei tunne. Tämän ongelman ratkaisemiseksi pääsylistoihin kuuluu myös <tt>mask</tt>-kenttä, joka viime kädessä ratkaisee, onko tiedostoon pääsyä vai ei. | ||
==Oletuspääsylistat== | ==Oletuspääsylistat== | ||
Pääsylistoja voidaan käyttää esimerkiksi siten, että tietyssä hakemistossa olevilla tiedostoilla on kahdella eri ryhmällä pääsyoikeus, mutta ulkopuolisilla ei. Esimerkiksi ryhmällä <tt>kehitys</tt> voi olla luku- ja kirjoitusoikeus kaikkiin tiedostoihin, ja ryhmällä <tt>testaus</tt> lukuoikeus. Tämä järjestely on helppo saada aikaan muuttamalla tiedostojen pääsylistoja. Mutta entä kun hakemistoon luodaan uusi tiedosto? Olisi kovin työlästä ja virhealtista muistaa aina käsin muokata | Pääsylistoja voidaan käyttää esimerkiksi siten, että tietyssä hakemistossa olevilla tiedostoilla on kahdella eri ryhmällä pääsyoikeus, mutta ulkopuolisilla ei. Esimerkiksi ryhmällä <tt>kehitys</tt> voi olla luku- ja kirjoitusoikeus kaikkiin tiedostoihin, ja ryhmällä <tt>testaus</tt> lukuoikeus. Tämä järjestely on helppo saada aikaan muuttamalla tiedostojen pääsylistoja. Mutta entä kun hakemistoon luodaan uusi tiedosto? Olisi kovin työlästä ja virhealtista muistaa aina käsin muokata pääsylistoja kun hakemistoon luodaan uusi tiedosto. | ||
Tätä tarkoitusta varten hakemistoihin voi liittää oletuspääsylistan. Oletuspääsylista ei vaikuta hakemiston pääsyoikeuksiin (sitä varten on olemassa hakemiston oma, varsinainen pääsylista), vaan toimii mallina pääsylistalle, jonka tiedosto saa kun se luodaan hakemistossa. | Tätä tarkoitusta varten hakemistoihin voi liittää oletuspääsylistan. Oletuspääsylista ei vaikuta hakemiston pääsyoikeuksiin (sitä varten on olemassa hakemiston oma, varsinainen pääsylista), vaan toimii mallina pääsylistalle, jonka tiedosto saa kun se luodaan hakemistossa. | ||
Rivi 67: | Rivi 65: | ||
==Pääsylistojen muokkaus== | ==Pääsylistojen muokkaus== | ||
<tt>ls -l</tt> -komento antaa vinkin tiedostoon liitetyistä pääsylistoista tulostamalla <tt>+</tt>-merkin suojauskentän perään. Ls- | <tt>ls -l</tt> -komento antaa vinkin tiedostoon liitetyistä pääsylistoista tulostamalla <tt>+</tt>-merkin suojauskentän perään. Ls-ohjelmalla ei kuitenkaan kerro tämän enempää pääsylistoista. | ||
Pääsylistojen käsittelyä varten on olemassa ohjelmat <tt>getfacl</tt> ja <tt>setfacl</tt>. Ellei näitä ohjelmia ole asennettu jo valmiiksi, ne pitää ladata ja asentaa erikseen. Miten tämä tapahtuu on jakeluriippuvaista – ne löytyvät tyypillisesti paketista nimeltään 'acl', tms. | Pääsylistojen käsittelyä varten on olemassa ohjelmat <tt>getfacl</tt> ja <tt>setfacl</tt>. Ellei näitä ohjelmia ole asennettu jo valmiiksi, ne pitää ladata ja asentaa erikseen. Miten tämä tapahtuu on jakeluriippuvaista – ne löytyvät tyypillisesti paketista nimeltään 'acl', tms. | ||
Ohjelmalla <tt>getfacl</tt> | Ohjelmalla <tt>getfacl</tt> voi tutkia tiedostoon liittyviä pääsylistoja, ohjelmalla <tt>setfacl</tt> vastaavasti asettaa tai kokonaan poistaa. | ||
'''<Tähän tulee lisää tekstiä>''' | |||
==Ongelmia== | ==Ongelmia== | ||
Rivi 135: | Rivi 77: | ||
* Monet varmuuskopiointiin käytetyt ohjelmat, kuten <tt>tar</tt>, eivät ymmärrä pääsylistoja. Tämä johtaa siihen, että tiedostot menettävät pääsylistansa, jos ne joudutaan palauttamaan <tt>tar</tt>-arkistosta. | * Monet varmuuskopiointiin käytetyt ohjelmat, kuten <tt>tar</tt>, eivät ymmärrä pääsylistoja. Tämä johtaa siihen, että tiedostot menettävät pääsylistansa, jos ne joudutaan palauttamaan <tt>tar</tt>-arkistosta. | ||
* Jotkut editorit toimivat siten, että | * Jotkut editorit toimivat siten, että tallennuksen eivät kirjoita tiedostoa uudestaan, vaan kirjoittavat muokatun tekstin uuteen tiedostoon, jonka nimeävät vanhan tiedoston mukaan. Koska tiedosto kuitenkin on järjestelmän kannalta uusi, jos editori ei ota asiaa huomioon, tiedostossa saattaa olla väärä pääsylista. Uusi tiedosto saattaa saada hakemiston oletuspääsylista, tai ei mitään pääsylistaa. | ||
* Tiedosto perii oletuspääsylistan vain hakemistosta, jossa se luodaan. Jos tiedosto luodaan toisessa hakemistossa, jossa ei ole oletuspääsylistaa, tai tiedostojärjestelmä ei edes tue pääsylistoja, tiedostoon ei tule mitään pääsylistaa. Jos tällaisen tiedoston siirtää <tt>mv</tt>-käskyllä hakemistoon, jossa on oletuspääsylista, sitä ei sovelleta tiedostoon, sillä <tt>mv</tt>-käsky ei luo tiedostoa, ainoastaan siirtää sen. | |||