Tietokonejärjestelmäsi varastoi paljon tietoa tiedostoista. Tämä tieto pysyy normaalisti piilossa, kun luot ja käytät tiedostoja. Yksi ominaisuuksien joukko, johon törmäät, on käyttöoikeudet. Kuka voi muokata tiedostojasi? Toivottavasti ei jokainen järjestelmän käyttäjä (sillä monia järjestelmiä käyttävät nykyisin useammat käyttäjät). Tämä käyttöoppaan osa keskustelee omistajuudesta ja käyttöoikeuksista.
Ensinnäkin, katsotaanpa, mitä järjestelmä itse voi kertoa tiedostoistaan. Suoritamme tutun "ls"-komennon valitsimella "-l", joka antaa pitkän listan:
$ ls -l total 72 drwxr-xr-x 2 root root 4096 Oct 5 09:31 bin drwxr-xr-x 3 root root 4096 Oct 9 21:47 boot drwxr-xr-x 1 root root 0 Jan 1 1970 dev ...
Ensimmäinen rivi:
total 72
näyttää kaikkien tiedostojen yhtenäiskoon kilotavuissa (kB). Loppu tarjoaa tietoa tiedostoista ja hakemistoista itsessään. Tämä tieto on ryhmitetty seitsemään palkkiin, joita voidaan luonnehtia seuraavasti:
Käyttöoikeudet Linkit Omistaja Ryhmä Koko Muutospäivämäärä Tiedostonimi
Jokaisella tiedostolla ja hakemistolla järjestelmässä on omistaja, se kuuluu ryhmään ja siihen liittyy joukko käyttöoikeuksia. Yksinkertaisimmalla tasolla nämä käyttöluvat määrittelevät kolme pääsytasoa, yhden tiedoston omistajalle, yhden ryhmälle johon tiedosto kuuluu ja yhden muulle maailmalle. (Itse asiassa maailma tarkoittaa vain niitä ihmisiä, joilla on lupa kirjautua järjestelmään.)
Katsotaanpa taas aiemmin näytettyä ulostuloa. Kolmannessa ja neljännessä palkissa näkyy omistaja (tässä tapauksessa pääkäyttäjä) ja ryhmä (myös pääkäyttäjä). Ensimmäisessä palkissa näkyy käyttöoikeudet hyvin tiiviissä muodossa, kuten tässä:
drwxr-xr-x
Ensimmäinen merkki tarkoittaa tiedoston tyyppiä, seuraavat kolme merkkiä näyttävät omistajan oikeudet, sitä seuraavat kolme ovat ryhmän oikeudet ja viimeiset kolme ovat muun maailman oikeudet.
Seuraava taulukko näyttää ensimmäisen merkin merkityksen. Edellisessä esimerkissä oli kirjain "d", joka tarkoittaa hakemistoa. Jotkin näistä merkeistä ovat melko harvinaisia. Yleensä sinun tarvitsee ajatella vain tavallista tiedostoa ja hakemistoa.
Merkki | Kuvaus |
- | tavallinen tiedosto |
d | hakemisto |
l | symbolinen linkki |
b | erityinen blokkitiedosto |
c | erityinen kirjaintiedosto |
p | FIFO (nimetty piippu) |
s | suoritinkanta |
? | ls ei ole tunnistanut tätä |
Käyttöluvat on jaettu kolmeen tyyppiin:
Yhdysmerkki (-) merkitsee mitä tahansa käyttölupaa, jota ei ole asetettu.
Yksinkertaisempi tapa nähdä käyttölupien jakautuminen näytetään alla:
:tyyppi : omistaja : ryhmä : muu maailma: :d : rwx : r-x : r-x
Jos tahdot nähdä tiedoston sisällön, tarvitset lukuoikeuden. Jos tahdot muukata sen sisältöä, tarvitset kirjoitusoikeuden. Jos tiedosto on ohjelma ja tahdot suorittaa sen, tarvitset suoritusoikeuden.
Jos tahdot nähdä hakemiston sisällön, tarvitset sekä luku- että suoritusoikeudet, pelkät lukuoikeudet eivät ole tarpeeksi. Jos tahdot lisätä tai poistaa tiedostoja tuosta hakemistosta, tarvitset kirjoitusoikeuksia.
Palataanpa takaisin esimerkkiin ja pohditaan seuraavaa riviä:
drwxr-xr-x 2 root root 4096 Oct 5 09:31 bin
Kuten nyt näet, se on hakemisto. Kuinka voit saada selville, mitä sinä voit itse asiassa tehdä sillä? Sinun täytyy katsoa tiedostolle asetettua käyttäjää ja ryhmää. Mutta ensin: kuka sinä olet?
$ whoami joe
Juuri tämän "whoami" kertoo sinulle: kuka olet ja käyttäjätunnuksesi nimen. Kuten näet, et ole juurikäyttäjä. Juurikäyttäjä voi nähdä hakemiston sisällön ja lisätä siihen tiedostoja, mutta et ole juuri. Mikä ryhmäsi sitten on?
$ id -G -n joe dialout cdrom floppy audio video plugdev
Tämä on lista ryhmistä, joihin kuulut. Jos joku näistä ryhmistä olisi ollut "root", voisit nähdä hakemiston "/bin" sisällön, mutta et voisi lisätä siihen tiedostoja. Mutta et ole osa "root"-ryhmää. Ainoa jäljelläoleva vaihtoehto on "muu maailma", ja sinut on sisällytetty siihen, joten voit ainoastaan nähdä hakemiston sisällön.
Katsotaanpa toista tiedostoa:
$ ls -l /etc/issue -rw-r--r-- 1 root root 36 2009-02-26 15:06 /etc/issue
Kuten voit nähdä, se on tavallinen tiedosto, jota "root" voi lukea ja kirjoittaa ja jota käyttäjät "root"-ryhmässä, missäpä he ovatkin, voivat vain lukea. Ja sitä sinä, "joe", voit myös vain lukea.
Entäpä omat juttusi? Todennäköisesti sinulla on "Työpöytä" tai "Desktop" -hakemisto kotihakemistossasi. Tarkastamme sen käyttöluvat komennolla "ls -l", ja liitämme lisävalitsimen "-d", jotta näemme vain hakemiston "Desktop" rivin, emmekä sen alla olevia tiedostoja ja hakemistoja.
$ ls -l -d ~/Desktop drwxr-xr-x 8 joe joe 4096 2009-03-12 09:27 /home/joe/Desktop
Se hakemisto kuuluu sinulle! Ja käyttölupien mukaan voit lukea sisältöä ja laittaa sinne tiedostoja. Muut ihmiset voivat vain katsoa sen sisältöä.
Jos tahdot muuttaa tiedoston käyttölupia sinun täytyy omistaa se - et voi vain mennä muuttelemaan muiden ihmisten juttuja. Jos omistat tiedoston (tai hakemiston), voit muuttaa sen käyttölupia komennolla "chmod"
. On kaksi tapaa määritellä uuden tiedoston käyttöluvat ja molemmissa on hyvät puolensa. Tarkastellaampa molempia.
Luo harjoitushakemisto ja kopioi sinne pari tiedostoa:
$ mkdir ~/harjoitus $ cd ~/harjoitus $ cp /etc/issue /etc/motd . $ ls -l total 8 -rw-r--r-- 1 joe joe 36 2009-03-21 14:34 issue -rw-r--r-- 1 joe joe 354 2009-03-21 14:34 motd
Sanotaanpa, että tehdot tehdä tiedostosta "issue" luettavan ja kirjoitettavan ryhmällesi ja itsellesi. Tiedostosta "motd" tahdot tehdä luettavan ja kirjoitettavan vain itsellesi. Tämä merkitsee, että viimeisen ulostulon täytyy näyttää suunnilleen tältä:
$ ls -l total 8 -rw-rw---- 1 joe joe 36 2009-03-21 14:34 issue -rw------- 1 joe joe 354 2009-03-21 14:34 motd
Voit tehdä näin tiedostolle "issue":
$ chmod u=rw,g=rw,o= issue
Tämä merkitsee:
Tiedostolle "motd" komento menee näin:
$ chmod u=rw,g=,o= motd
Melko suoraviivaista, vai mitä? Myös paljon kirjoittamista. Lyhempi versio menisi näin:
$ chmod ug=rw,o= issue $ chmod u=rw,go= motd
Se on hieman lyhempi, mutta on olemassa vieläkin lyhempi versio:
$ chmod 0660 issue
Tätä tarvitsee hieman selittää. Numerot merkitsevät samoja käyttölupia kuin yllä. Jos tahdot ymmärtää sen toiminnan, ajattele seuraavaa kaaviota:
Ylin rivi näyttää päämäärämme: tiedoston, jonka omistaja voi lukea, kirjoittaa ja suorittaa, jota ryhmä voi vain lukea ja suorittaa, ja jota muu maailma ei voi käyttää mitenkään. Jokainen kirjain symbolisessa notaatiossa vastaa bittiä binäärisessä esityksessä. Jos kirjain on paikalla, numero on "1", ja jos sitä ei ole, numero on "0". Ensimmäinen "1" luvussa "111" on "4", toinen on "2" ja kolmas on "1". Kun lisäät nämä yhteen, saat numeron "7". Kun teet saman kaikille muille kolmikoille, saat luvun "0750".
Palataksemme edelliseen esimerkkiin, tiedostoon "issue," tahdomme lupien olevan "-rw-rw----", tämä antaa meille numerot "0", "4+2", "4+2" ja "0", josta tulee "0660". Voitko selvittää, mitä tämä on tiedostolle "motd"?
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.