Koduleht » kuidas » Kuidas Linuxi fail töötab?

    Kuidas Linuxi fail töötab?

    Kui olete Linuxi juba mõnda aega kasutanud (ja isegi OS X), siis olete ilmselt leidnud „õigused” vea. Aga mis nad tegelikult on ja miks nad on vajalikud või kasulikud? Võtame sisemuse.

    Kasutaja õigused

    Päeval olid arvutid massiivsed masinad, mis olid uskumatult kallid. Selleks, et neist kõige rohkem kasu saada, ühendati mitu arvutiterminali, mis võimaldas paljudel kasutajatel samaaegselt oma äri käia. Andmete töötlemine ja säilitamine toimus masinal, samas kui terminalid ise olid veidi rohkem kui andmete vaatamise ja sisestamise vahend. Kui te selle kohta mõtlete, on see päris palju, kuidas me pääseme pilve andmetele; vaadake Amazon's Cloud MP3 süsteemi, Gmaili ja Dropboxi ning märkate, et kuigi muudatusi saab teha lokaalselt, salvestatakse kõik kaugelt.

    (Pilt: Zenith Z-19 “loll” terminal; krediit: ajmexico)

    Selleks, et see toimiks, peavad üksikud kasutajad omama kontosid. Neil peab olema osa neile eraldatud säilitamiskohast ja neil peab olema lubatud käske ja programme käivitada. Igaühel on konkreetsed „kasutajaõigused”, mis määravad, mida nad saavad teha ja mida ei saa teha, kus süsteemil, mida nad teevad ja kellel pole juurdepääsu, ning kelle faile nad saavad ja ei saa muuta. Iga kasutaja paigutatakse ka erinevatesse gruppidesse, mis annavad või piiravad edasist juurdepääsu.

    Failile juurdepääs

    Selles ebameeldivas mitme kasutaja maailmas oleme juba määranud piirid, mida kasutajad saavad teha. Aga mis neil on? Noh, igal failil on terve rida õigusi ja omanik. Omaniku nimetus, mis on faili loomisel tavaliselt seotud, deklareerib, milline kasutaja see kuulub ja ainult seda kasutajat saab muuta oma kasutusõigusi.

    Linuxi maailmas jaotatakse õigused kolme kategooriasse: lugemine, kirjutamine ja täitmine. Juurdepääs „lugemiseks” võimaldab vaadata failide sisu, „kirjutada” juurdepääs võimaldab muuta faili sisu ja „käivitamine“ võimaldab käivitada juhiseid, näiteks skripti või programmi. Kõiki neid kategooriaid rakendatakse erinevatele klassidele: kasutaja, grupp ja maailm. „Kasutaja” tähendab omanikku, „grupp” tähendab kõiki kasutajaid, kes on omaniku grupis ja „maailm” tähendab kedagi ja kõiki.

    Kaustasid saab nende õigustega piirata. Näiteks saate lubada teistel oma grupi inimestel vaadata oma kausta katalooge ja faile, kuid mitte kedagi väljaspool oma rühma. Tõenäoliselt tahad piirata „kirjutada” juurdepääsu ainult iseendale, välja arvatud juhul, kui töötate mingisuguse jagatud projekti kallal. Samuti saate luua jagatud kataloogi, mis võimaldab kellelgi vaadata ja muuta kausta faile.

    Ubuntu lubade muutmine

    GUI

    Ubuntu omaniku failide õiguste muutmiseks paremklõpsake failil ja minge "Properties".

    Saate muuta, kas omanik, rühm või teised saavad lugeda ja kirjutada, lugeda või mitte midagi teha. Samuti saate märkida kasti, et lubada faili täitmist, ning see lubab samaaegselt omanikule, grupile ja teistele.

    Käsurida

    Seda saab teha ka käsurea kaudu. Minge kataloogi, millel on selles olevad failid, ja tippige kõik loendis olevate failide vaatamiseks järgmine käsk:

    Ls -al

    Iga faili ja kataloogi kõrval näete spetsiaalset sektsiooni, mis kirjeldab selle õigusi. See näeb välja selline:

    -rwxrw-r-

    The r tähistab “lugeda” w tähistab "kirjutada" ja x tähistab “täitma”. Kataloogid algavad “-” asemel “d” -ga. Pange tähele, et seal on 10 ruumi, millel on väärtus. Esimest saab ignoreerida ja siis on 3 komplekti 3. Esimene komplekt on omaniku jaoks, teine ​​komplekt on grupi jaoks ja viimane komplekt on maailmale.

    Faili või kataloogi õiguste muutmiseks vaatame chmodi käsu põhivormi.

    chmod [class] [operaator] [loa] fail

    chmod [ugoa] [+ või -] [rwx] fail

    See võib alguses tunduda keeruline, kuid usalda mind, see on üsna lihtne. Kõigepealt vaatame klasse:

    • u: See on omaniku jaoks.
    • g: See on grupi jaoks.
    • o: See on kõigi teiste jaoks.
    • a: See muudab kõikidele eelnevatele õigustele.

    Edasi:

    • +: Plussmärk lisab järgmised õigused.
    • -: Miinusmärk eemaldab järgnevad õigused.

    Ikka minuga? Ja viimane osa on sama, mis faili kontrollimisel.

    • r: võimaldab lugeda juurdepääsu.
    • w: võimaldab kirjutada juurdepääsu.
    • x: võimaldab teostamist.

    Nüüd paneme selle kokku. Oletame, et meil on fail nimega "todo.txt", millel on järgmised õigused:

    -rw-rw-r-

    See tähendab, et omanik ja rühm saavad lugeda ja kirjutada ning maailm saab lugeda ainult. Soovime muuta nende õigusi:

    -rwxr-

    See tähendab, et omanikul on täisõigused ja rühm saab lugeda. Me saame seda teha kolmes etapis. Esiteks lisame kasutajale teostusloa.

    chmod u + x todo.txt

    Seejärel eemaldame grupi kirjutamisloa.

    chmod g-w todo.txt

    Lõpuks eemaldame kõigi teiste kasutajate lugemisõigused.

    chmod o-r todo.txt

    Me võime neid ka üheks käsuks kombineerida:

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

    Näete, et iga sektsioon on eraldatud komadega ja tühikuid ei ole.

    Siin on mõned kasulikud õigused:

    • -rwxr-xr-x: Omanikul on täisõigused, rühm ja teised kasutajad saavad faili sisu lugeda ja käivitada.
    • -rwxr-r-: Omanikul on täisõigused, rühm ja teised kasutajad saavad ainult faili lugeda (kasulik, kui te ei pahanda teisi failide vaatamist.
    • -rwx-: Omanikul on kõik õigused, kõik teised ei ole (kasulikud isiklikele skriptidele).
    • -rw-rw--: Omanik ja rühm saavad lugeda ja kirjutada (kasulikud koostööks rühma liikmetega).
    • -rw-r-r-: Omanik saab lugeda ja kirjutada, grupid ja teised kasutajad saavad ainult lugeda faili (kasulik isiklike failide salvestamiseks jagatud võrgus).
    • -rw--: Omanik saab lugeda ja kirjutada, kõik teised ei ole (kasulikud isiklike failide salvestamiseks).

    Chmodiga saab teha mõningaid muid asju - nagu setuid ja setgid -, kuid nad on vähe põhjalikud ja enamik kasutajaid ei pea neid ikkagi kasutama.

    Juur- või super-kasutaja- ja süsteemifailid

    Tänapäeval ei käi me alati süsteeme, millel on mitu kasutajat. Miks peaksime siiski lubade pärast muretsema?

    Noh, Unix ja selle derivaadid - Linux, OS X - eristavad muu hulgas ka kasutaja poolt juhitavaid asju, administraatori poolt juhitavaid asju või administraatori õigusi ja asju, mida süsteem ise juhib. Seega vajavad süsteemi lahutamatud asjad administraatori õigusi, et neid muuta või neile juurde pääseda. Sel moel sa ei räägi midagi juhuslikult.

    Ubuntu puhul tehke muudatusi süsteemifailides, mida kasutate „sudo” või „gksudo”, et saada administraatori õigused. Teistes piirkondades lülitub „root” või „super-user”, mis tegelikult teeb sama, kuni välja logite.

    Pange tähele, et mõlemas olukorras võib failide õiguste muutmine viia programmide töötamiseni, tahtmatult muutes failide omandiõiguse juurkasutajale (omaniku asemel) ja muutes süsteemi vähem turvaliseks (andes rohkem õigusi). Seetõttu on soovitatav, et failide - eriti süsteemifailide - õigusi ei muudetaks, kui see pole vajalik või tead, mida teete.


    Kasutajate jaoks on olemas põhilised turvasüsteemid, mis võimaldavad failide õigusi. Õppimine, kuidas nad töötavad, aitavad teil luua põhijagamise mitme kasutaja keskkonnas, kaitsta “avalikke” faile ja anda teile aimugi, millal midagi läheb valesti süsteemi failide omamisega.

    Arvan, et saate asju lihtsamaks selgitada? Kas teil on parandus? Tahad meenutada vanade päevade kohta? Võtke pausi ja pane oma mõtted kommentaaridesse.