Kotisivu » miten » Miten Linux-tiedostoluvat toimivat?

    Miten Linux-tiedostoluvat toimivat?

    Jos olet käyttänyt Linuxia jo jonkin aikaa (ja jopa OS X: n), olet todennäköisesti törmännyt "oikeuksiin". Mutta mitä ne ovat, ja miksi ne ovat tarpeellisia tai hyödyllisiä? Katsotaanpa sisäpuolelta.

    Käyttäjän oikeudet

    Päivällä tietokoneet olivat massiivisia koneita, jotka olivat uskomattoman kalliita. Jotta heistä saataisiin eniten hyötyä, useat tietokoneen päätelaitteet olivat koukussa, joiden ansiosta monet käyttäjät pääsivät samanaikaisesti liiketoimintaan. Tietojenkäsittely ja tallennus tehtiin koneella, kun taas päätelaitteet itse olivat vain vähän keinoja tarkastella ja syöttää tietoja. Jos ajattelet sitä, se on melko paljon siitä, miten pääsemme “pilven” tietoihin. katsokaa Amazonin Cloud MP3 -järjestelmää, Gmailia ja Dropboxia, ja huomaat, että vaikka muutoksia voidaan tehdä paikallisesti, kaikki tallennetaan etäyhteyden kautta.

    (Kuva: Zenith Z-19 ”tyhmä” pääte; luotto: ajmexico)

    Jotta tämä toimisi, yksittäisten käyttäjien on oltava tilejä. Heillä on oltava osa heille varatusta tallennusalueesta, ja niiden on voitava suorittaa komentoja ja ohjelmia. Jokaisella on erityiset "käyttöoikeudet", jotka määräävät, mitä he voivat tehdä ja mitä he eivät voi tehdä, missä järjestelmässä heillä ei ole pääsyä ja joiden tiedostoja he voivat ja joita ei voi muokata. Jokainen käyttäjä sijoitetaan myös eri ryhmiin, jotka myöntävät tai rajoittavat pääsyä.

    Tiedoston käyttö

    Tässä hämärässä monikäyttäjätilassa olemme jo määrittäneet rajat sen suhteen, mitä käyttäjät voivat tehdä. Mutta entä mitä he pääsevät? No, jokaisella tiedostolla on joukko oikeuksia ja omistaja. Omistajan nimitys, joka on tyypillisesti sidottu tiedoston luomisessa, ilmoittaa, mihin käyttäjään se kuuluu, ja vain tämä käyttäjä voi muuttaa käyttöoikeuksiaan.

    Linuxin maailmassa oikeudet jaetaan kolmeen luokkaan: lukea, kirjoittaa ja suorittaa. "Lukeminen" -toiminnon avulla voit tarkastella tiedoston sisältöä, "kirjoita" -yhteys mahdollistaa tiedoston sisällön muokkaamisen, ja "suorita" antaa mahdollisuuden suorittaa ohjeiden joukko, kuten komentosarja tai ohjelma. Kukin näistä luokista sovelletaan eri luokkiin: käyttäjä, ryhmä ja maailma. ”Käyttäjä” tarkoittaa omistajaa, ”ryhmä” tarkoittaa mitä tahansa käyttäjää, joka on samassa ryhmässä kuin omistaja, ja ”maailma” tarkoittaa ketään ja kaikkia.

    Kansioita voidaan myös rajoittaa näillä oikeuksilla. Voit esimerkiksi sallia ryhmän muiden henkilöiden tarkastella hakemistoja ja tiedostoja kotihakemistossasi, mutta ei ketään ryhmän ulkopuolella. Haluat luultavasti rajoittaa “kirjoitus” -käyttöoikeutta vain itseesi, ellet työskentele jonkinlaisen jaetun projektin parissa. Voit myös luoda jaetun hakemiston, jonka avulla kuka tahansa voi tarkastella ja muokata kansiossa olevia tiedostoja.

    Lupien muuttaminen Ubuntuissa

    GUI

    Voit muuttaa Ubuntuissa olevan tiedoston oikeuksia napsauttamalla tiedostoa hiiren kakkospainikkeella ja siirtymällä kohtaan Ominaisuudet.

    Voit muuttaa, voiko omistaja, ryhmä tai muut lukea ja kirjoittaa, lukea vain tai tehdä mitään. Voit myös valita valintaruudun, jos haluat sallia tiedoston suorittamisen, ja tämä mahdollistaa sen omistajalle, ryhmälle ja muille samanaikaisesti.

    Komentorivin

    Voit myös tehdä tämän komentorivin kautta. Siirry hakemistoon, jossa on tiedostoja, ja kirjoita seuraava komento nähdäksesi kaikki luettelossa olevat tiedostot:

    ls -al

    Jokaisen tiedoston ja hakemiston vieressä näkyy erityinen osio, jossa hahmotellaan sen käyttöoikeudet. Näyttää siltä:

    -rwxrw-r-

    R tarkoittaa "lukea" w tarkoittaa "kirjoittaa" ja x tarkoittaa "suorita". Hakemistot alkavat "d": llä "-": n sijasta. Huomaa myös, että on 10 tilaa, joilla on arvo. Voit jättää huomiotta ensimmäisen, ja sitten on 3 sarjaa 3. Ensimmäinen sarja on omistajalle, toinen sarja on ryhmälle, ja viimeinen sarja on maailmalle.

    Jos haluat muuttaa tiedoston tai hakemiston käyttöoikeuksia, tarkastellaan chmod-komennon perusmuotoa.

    chmod [class] [operaattori] [luvan] tiedosto

    chmod [ugoa] [+ tai -] [rwx] tiedosto

    Tämä saattaa tuntua aluksi monimutkaiselta, mutta luota minuun, se on melko helppoa. Tarkastellaan ensin luokkia:

    • u: Tämä on omistajalle.
    • g: Tämä on ryhmälle.
    • o: Tämä koskee kaikkia muita.
    • a: Tämä muuttaa kaikkien edellä mainittujen oikeuksia.

    Seuraavaksi operaattorit:

    • +: Plusmerkki lisää seuraavat oikeudet.
    • -: Miinusmerkki poistaa seuraavat oikeudet.

    Yhä kanssani? Ja viimeinen osa on sama kuin kun tarkistimme tiedoston oikeudet:

    • r: Sallii luettavuuden.
    • w: Sallii kirjoitusoikeuden.
    • x: Sallii suorituksen.

    Laita se nyt yhteen. Oletetaan, että meillä on tiedosto nimeltä "todo.txt", jolla on seuraavat oikeudet:

    -rw-rw-r-

    Toisin sanoen omistaja ja ryhmä voivat lukea ja kirjoittaa, ja maailma voi lukea vain. Haluamme muuttaa näiden käyttöoikeuksia:

    -rwxr-

    Toisin sanoen omistajalla on täysi käyttöoikeus ja ryhmä voi lukea. Voimme tehdä tämän kolmessa vaiheessa. Ensinnäkin lisäämme käyttäjän käyttöoikeuden.

    chmod u + x todo.txt

    Sitten poistamme ryhmän kirjoitusluvan.

    chmod g-w todo.txt

    Lopuksi poistamme kaikkien muiden käyttäjien lukuoikeudet.

    chmod o-r todo.txt

    Voimme myös yhdistää nämä yhdeksi komennoksi, kuten:

    chmod u + x, g-w, o-r todo.txt

    Näet, että jokainen osa on erotettu pilkuilla eikä välilyöntejä ole.

    Tässä muutamia hyödyllisiä käyttöoikeuksia:

    • -rwxr-xr-x: Omistajalla on täysi käyttöoikeus, ryhmä ja muut käyttäjät voivat lukea tiedostojen sisällön ja suorittaa ne.
    • -rwxr-r-: Omistajalla on täysi käyttöoikeus, ryhmä ja muut käyttäjät voivat lukea vain tiedostoja (hyödyllisiä, jos et muista toisten katsomista tiedostoista).
    • -rwx-: Omistajalla on täysi käyttöoikeus, kaikilla muilla ei ole (hyödyllinen henkilökohtaisissa skripteissä).
    • -rw-rw--: Omistaja ja ryhmä voivat lukea ja kirjoittaa (hyödyllisiä yhteistyössä ryhmän jäsenten kanssa).
    • -rw-r-r-: Omistaja voi lukea ja kirjoittaa, ryhmä ja muut käyttäjät voivat lukea vain tiedostoja (hyödyllisiä henkilökohtaisten tiedostojen tallentamiseen jaettuun verkkoon).
    • -rw--: Omistaja voi lukea ja kirjoittaa, kaikilla muilla ei ole (hyödyllinen henkilökohtaisten tiedostojen tallentamiseen).

    Chmodilla on muutamia muita asioita, kuten setuidia ja setgidiä, mutta he ovat hieman syvällisiä ja useimmat käyttäjät eivät tarvitse käyttää niitä silti.

    Root- tai Super-User- ja System-tiedostot

    Nykyään emme aina käytä järjestelmiä, joissa on useita käyttäjiä. Miksi meidän pitäisi edelleen huolehtia oikeuksista?

    Unix ja sen johdannaiset - Linux, OS X - erottavat mm. Myös käyttäjän käyttämät asiat, ylläpitäjän suorittamat asiat tai järjestelmänvalvojan oikeudet ja järjestelmän itse hoitamat asiat. Siten järjestelmälle olennaiset asiat edellyttävät järjestelmänvalvojan oikeuksia muuttaa tai käyttää niitä. Näin et sotke mitään vahingossa.

    Ubuntuissa voit tehdä muutoksia järjestelmän tiedostoihin käyttämällä “sudo” tai “gksudo”, jotta saat vastaavan järjestelmänvalvojan oikeuksia. Toisissa osioissa siirryt ”root” tai “super-user” -tilaan, joka toimii samalla tavalla, kunnes kirjaudut ulos.

    Huomaa, että molemmissa näissä olosuhteissa tiedoston käyttöoikeuksien muuttaminen voi johtaa siihen, että ohjelmat eivät toimi, muuttavat tahattomasti tiedoston omistusta root-käyttäjään (omistajan sijasta) ja tekevät järjestelmän vähemmän turvalliseksi (myöntämällä lisää oikeuksia). Siksi on suositeltavaa, että et muuta tiedostojen - erityisesti järjestelmätiedostojen - käyttöoikeuksia, ellei se ole välttämätöntä tai tiedät mitä teet.


    Tiedostojen käyttöoikeudet ovat käytössä, jotta voidaan tarjota käyttäjien perusjärjestelmä. Oppiminen, miten he toimivat, voivat auttaa perustamaan jakamisen monen käyttäjän ympäristössä, suojaamaan "julkisia" tiedostoja ja antamaan sinulle aavistuksen siitä, milloin jokin menee vikaan järjestelmän tiedostojen omistuksessa.

    Luuletko, että voit selittää asioita helpommaksi? Onko korjaus? Haluatko muistuttaa vanhoista päivistä? Ota tauko ja aseta ajatuksiasi kommentteihin.