Linux-tiedostojen käyttöoikeudet

Linux-tiedostojen käyttöoikeudet - 1.0

Tiedoston omistamisen ja Linux-käyttöoikeuksien perusteet. Opi ymmärtämään, ketkä ovat tiedoston tai hakemiston omistajia, miten tiedostojen käyttöoikeudet toimivat ja miten voit katsella niitä, ja oppia, miten voit määrittää tiedostojen perusoikeudet itse.

Luvat ja omistusoikeus - miksi? >

Jos et pääse joihinkin tiedostoihin omassa Linux-järjestelmässäsi, se johtuu yleensä väärin määritetyistä tiedostojen käyttöoikeuksista. Jos olet ainoa käyttäjä Linux-ruudussa, saatat miettiä, mitä järkeä sinulla on kaikki nämä oikeudet (tai niiden puuttuminen), jotka rajoittavat pääsyäsi omaan pingviini-käyttöjärjestelmään. Ennen kuin vedät hiukset irti, sinun on kuitenkin pidettävä mielessä, että Linux on suunniteltu monen käyttäjän ympäristöön. Ympäristössä, jossa on useampi kuin yksi käyttäjä, on erittäin tärkeää, että sinulla on turvallinen järjestelmä, jonka avulla voit päättää, mitkä tiedostot ovat sinun ja kuka voi heiluttaa niitä.

Vaikka olisitkin ainoa käyttäjä tavallisessa työpöytäjärjestelmässä, tiedostojen käyttöoikeudet auttavat pitämään tärkeät tiedostosi turvassa sekä ulkopuolisilta että omilta virheiltäsi. 🙂

 

Tiedoston omistajuuden ymmärtäminen >

Jokainen Linux-järjestelmän tiedosto, mukaan lukien hakemistot, on tietyn käyttäjän ja ryhmän omistuksessa. Siksi tiedostojen oikeudet määritellään erikseen käyttäjille, ryhmille ja muille.

Käyttäjä: Tiedoston omistajan nimi. Oletuksena käyttäjä, joka luo tiedoston, tulee sen omistajaksi.

Ryhmä: Käyttäjäryhmä, joka omistaa tiedoston. Kaikilla käyttäjillä, jotka kuuluvat tiedostoa omistavaan ryhmään, on samat käyttöoikeudet tiedostoon. Tämä on hyödyllistä, jos sinulla on esimerkiksi projekti, joka vaatii joukon erilaisia ​​käyttäjiä pääsemään tiettyihin tiedostoihin, kun taas toiset eivät. Siinä tapauksessa lisäät kaikki käyttäjät samaan ryhmään, varmista, että vaaditut tiedostot ovat kyseisen ryhmän omistuksessa, ja määrität tiedoston ryhmän oikeudet vastaavasti.

muu: Käyttäjä, joka ei ole tiedoston omistaja eikä kuulu samaan ryhmään, johon tiedosto kuuluu. Toisin sanoen, jos asetat "muut" -luokan käyttöoikeuden, se vaikuttaa oletuksena kaikkiin muihin. Tästä syystä ihmiset puhuvat usein "maailman" käyttöoikeusbitin asettamisesta, kun he tarkoittavat "muiden" käyttöoikeuksien asettamista.

 

Tiedostojen käyttöoikeuksien ymmärtäminen >

Linuxissa on kolmenlaisia ​​käyttöoikeuksia: lukeminen, kirjoittaminen ja suorittaminen. Nämä oikeudet määritetään erikseen tiedoston omistajalle, ryhmälle ja kaikille muille käyttäjille.

Lue lupa. Tavallisessa tiedostossa lukuluvan bitti tarkoittaa, että tiedosto voidaan avata ja lukea. Hakemistossa lukulupa tarkoittaa, että voit luetella hakemiston sisällön.

Kirjoita lupa. Tavallisessa tiedostossa tämä tarkoittaa, että voit muokata tiedostoa, eli kirjoittaa uusia tietoja tiedostoon. Hakemiston tapauksessa kirjoitusoikeus tarkoittaa, että voit lisätä, poistaa ja nimetä uudelleen tiedostoja hakemistossa. Tämä tarkoittaa, että jos tiedostolla on kirjoitusoikeusbitti, voit muokata tiedoston sisältöä, mutta voit nimetä tiedoston uudelleen tai poistaa sen vain, jos tiedoston oikeudet hakemisto voit tehdä niin.

Suorita lupa. Tavallisen tiedoston tapauksessa tämä tarkoittaa, että voit suorittaa tiedoston ohjelmana tai komentosarjakomentona. Hakemistossa oleva suoritusoikeus (jota kutsutaan myös "hakubitiksi") antaa sinun käyttää hakemiston tiedostoja ja syöttää ne cd komento. Huomaa kuitenkin, että vaikka suoritusbitin avulla voit syöttää hakemiston, et saa luetteloida sen sisältöä, ellei sinulla ole myös lukuoikeuksia kyseiseen hakemistoon.

 

Tiedostojen käyttöoikeuksien katselu >

Voit tarkastella tiedoston käyttöoikeuksia tekemällä pitkän hakemistolistan ls -l komento. Tämän vuoksi pitkä hakemistoluettelo saattaa näyttää:

me@puter: /home/writers$ ls -l
total 17
drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

Mitä tuotos ls -l tarkoittaa? Ensimmäinen sarake, joka näyttää joukolta mumbo jumboa, näyttää tiedostotyypin ja käyttöoikeudet. Toisessa sarakkeessa näkyy tiedostoon viittaavien linkkien määrä (hakemistomerkinnät), kolmannessa tiedoston omistaja ja neljännessä ryhmä, johon tiedosto kuuluu. Muut sarakkeet näyttävät tiedoston koon tavuina, viimeisen muokkauksen päivämäärän ja kellonajan sekä tiedostonimen.

Ensimmäinen sarake, joka näyttää tiedoston käyttöoikeudet ja näyttää mumbo jumbolta, on jaettu neljään erilliseen ryhmään, vaikka se ei todellakaan näytä kovin organisoidulta.

Ensimmäinen ryhmä koostuu vain yhdestä merkistä, ja se näyttää tiedoston tyypin. Esimerkiksi, d tarkoittaa hakemistoa ja - tarkoittaa normaalia tiedostoa, joten jos katsot esimerkkilähtöä, huomaat dir on hakemisto, vaikka file ja otherfile ovat tavallisia tiedostoja.

Ensimmäinen merkki voi olla jokin seuraavista:

d = hakemisto
- = tavallinen tiedosto
l = symbolinen linkki
s = Unix-verkkotunnusliitin
p = nimetty putki
c = merkkilaitteen tiedosto
b = estä laitteen tiedosto

Seuraavat yhdeksän merkkiä osoittavat tiedoston oikeudet jaettuna kolmeen ryhmään, joista kukin koostuu kolmesta merkistä. Kolmen merkin ensimmäinen ryhmä näyttää luku-, kirjoitus- ja suoritusoikeudet lähettämä, tiedoston omistaja. Seuraava ryhmä näyttää luku-, kirjoitus- ja toteutusoikeudet ryhmä tiedostosta. Vastaavasti viimeinen kolmen merkin ryhmä esittää käyttöoikeudet muut, kaikki muut. Kussakin ryhmässä ensimmäinen merkki tarkoittaa lukulupaa, toista kirjoituslupaa ja kolmas suorittaa luvan.

Hahmot ovat melko helppo muistaa.

r = lukulupa
w = kirjoitusoikeus
x = suorittaa lupa
- = ei lupaa

Mitä tämä tarkoittaa käytännössä? Otetaan esimerkki. Muistatko kuvitteellisen hakemistoluettelon, jonka teimme alussa? Tuotos näytti tältä:

drwxr-xr-x 3 nana writers 80 2005-09-20 21:37 dir
-rw-r----- 1 nana writers 8187 2005-09-19 13:35 file
-rwxr-xr-x 1 nana writers 10348 2005-07-17 20:31 otherfile

Kuten olemme jo huomanneet, dir on hakemisto, koska ensimmäinen sarake alkaa a: lla d. Tämän hakemiston omistaja on käyttäjä nana ja ryhmän omistaja on writers. Kolme ensimmäistä merkkiä, rwx, ilmoita hakemiston omistaja, nana Tässä tapauksessa sillä on täysi pääsy hakemistoon. Käyttäjä nana pystyy käyttämään, tarkastelemaan ja muokkaamaan kyseisen hakemiston tiedostoja. Seuraavat kolme merkkiä, r-x, osoittavat, että kaikki ryhmään kuuluvat käyttäjät writers on lukenut ja suorittanut hakemiston käyttöoikeudet. He voivat vaihtaa hakemistoon, suorittaa tiedostoja ja tarkastella sen sisältöä. Koska heillä ei kuitenkaan ole kirjoitusoikeuksia, he eivät voi tehdä muutoksia hakemiston sisältöön. Lopuksi kolme viimeistä merkkiä, r-x, ilmoita, että kaikki käyttäjät, jotka eivät ole nana tai älä kuulu ryhmään writers, olet lukenut ja suorittanut käyttöoikeudet hakemistossa.

Entä jos file? Koska ensimmäinen sarake alkaa a -, tiedosto on käyttäjän tavallinen tiedosto nana ja ryhmä writers, aivan kuten esimerkissä oleva hakemisto. Kolme ensimmäistä merkkiä, rw-, osoita, että omistajalla on luku- ja kirjoitusoikeus tiedostoon. Seuraavien kolmen merkin mukaan r--, ryhmään kuuluvat käyttäjät writers voi tarkastella tiedostoa, mutta ei muokata tai suorittaa sitä. Kolme viimeistä merkkiä, ---, ilmoittakaa kenellekään muulla ei ole pääsyä tiedostoon.

Samoin näet otherfile on tavallinen tiedosto ja sen omistajalla on täysi pääsy siihen, kun taas kaikki muut voivat lukea ja suorittaa tiedoston, mutta eivät muuta sitä.

 

Tiedostojen käyttöoikeuksien määrittäminen - symbolinen tila >

Voit asettaa tiedoston käyttöoikeudet chmod komento. Sekä pääkäyttäjä että tiedoston omistaja voivat asettaa tiedoston käyttöoikeudet. chmod on kaksi tilaa, symbolinen ja numeerinen.

Symbolinen tila on melko helppo muistaa. Ensin päätät, asetatko käyttöoikeudet käyttäjälle (u), ryhmälle (g), muille (o) vai kaikille kolmelle (a). Sitten joko lisäät käyttöoikeuden (+), poistat sen (-) tai pyyhit aikaisemmat käyttöoikeudet ja lisäät uuden (=). Seuraavaksi päätät, asetatko lukuoikeuden (r), kirjoitusoikeuden (w) vai suoritatko käyttöoikeuden (x). Viimeinen, kerrot chmod minkä tiedoston käyttöoikeuksia haluat muuttaa.

Otetaan muutama esimerkki. Oletetaan, että meillä on säännöllinen tiedosto nimeltä testfile, ja tiedostolla on täysi käyttöoikeus kaikille ryhmille (pitkä hakemistolista näkyisi -rwxrwxrwx (kuten tiedoston käyttöoikeudet).

Pyyhi kaikki oikeudet, mutta lisää lupa kaikille:
chmod a=r testfile
Komennon jälkeen tiedoston oikeudet olisivat -r--r--r--

Lisää suoritustoimiluvat ryhmälle:
chmod g+x testfile
Nyt tiedoston oikeudet olisivat -r--r-xr--

Lisää sekä kirjoitus- että suoritusoikeudet tiedoston omistajalle. Huomaa, kuinka voit asettaa useita käyttöoikeuksia samanaikaisesti:
chmod u+wx testfile
Tämän jälkeen tiedostojen käyttöoikeudet ovat -rwxr-xr--

Poista suoritusoikeus sekä tiedoston omistajalta että ryhmältä. Huomaa jälleen, kuinka voit asettaa ne molemmat kerralla:
chmod ug-x testfile
Nyt oikeudet ovat -rw-r--r--

Yhteenvetona, katso tämä pikalinkki tiedostojen käyttöoikeuksien määrittämiseksi symbolisessa tilassa:

Mikä käyttäjä?
u Käyttäjä / omistaja
g ryhmä
o muut
a kaikki
Mitä tehdä?
+ lisää tämä lupa
- poista tämä lupa
= asettaa juuri tämän luvan
Mitkä oikeudet?
r luettu
w kirjoittaa
x suorittaa

 

Tiedostojen käyttöoikeuksien määrittäminen - numeerinen tila >

Toinen tila, jossa chmod voidaan käyttää on numeerinen tila. Numeerisessa tilassa tiedostojen käyttöoikeuksia ei ole merkitty merkeillä. Sen sijaan niitä edustaa kolminumeroinen oktaaliluku.

= lukea (r)
2 = kirjoita (w)
1 = suorita (x)
0 = ei lupaa (-)

Saadaksesi haluamasi lupabitit, lisää numerot vastaavasti. Esimerkiksi rwx-oikeudet olisivat 4 + 2 + 1 = 7, rx olisi 4 + 1 = 5 ja rw olisi 4 + 2 = 6. Koska asetat erilliset käyttöoikeudet omistajalle, ryhmälle ja muille, tarvitset kolminumeroinen luku, joka edustaa kaikkien näiden ryhmien käyttöoikeuksia.

Otetaan esimerkki.
chmod 755 -testi
Tämä muuttaisi testfilekäyttäjän oikeudet -rwxr-xr-x. Omistajalla olisi täydet luku-, kirjoitus- ja toteutusoikeudet (7 = 4 + 2 + 1). .

Otetaan toinen esimerkki:
chmod 640 -testi
Tässä tapauksessa, testfilekäyttöoikeudet olisivat -rw-r-----. Omistajalla olisi luku- ja kirjoitusoikeudet (6 = 4 + 2), ryhmällä vain lukuoikeudet (4) ja muilla ei olisi käyttöoikeuksia (0).

Numeerinen tila ei välttämättä ole yhtä yksinkertainen kuin symbolinen tila, mutta numerotilassa voit määrittää nopeammin ja tehokkaammin tiedoston käyttöoikeudet. Tämä pikalinkki tiedostojen käyttöoikeuksien määrittämiseksi numeerisessa tilassa saattaa auttaa:

Mikä numero?
0 -
1 –X
2 -W-
3 -wx
4 r–
5 rx
6 rw
7 rwx