Kaip veikia "Linux" failų leidimai?

Turinys:

Kaip veikia "Linux" failų leidimai?
Kaip veikia "Linux" failų leidimai?

Video: Kaip veikia "Linux" failų leidimai?

Video: Kaip veikia
Video: What is a Hypervisor? - YouTube 2024, Lapkritis
Anonim
Jei jau kurį laiką naudojote "Linux" (ir net "OS X"), tikriausiai kiltų "leidimų" klaida. Bet ką jie yra ir kodėl jie reikalingi ar naudingi? Paimkime vidinį išvaizdą.
Jei jau kurį laiką naudojote "Linux" (ir net "OS X"), tikriausiai kiltų "leidimų" klaida. Bet ką jie yra ir kodėl jie reikalingi ar naudingi? Paimkime vidinį išvaizdą.

Vartotojo leidimai

Dienos metu kompiuteriai buvo neįtikėtinai brangios masinės mašinos. Norėdami išnaudoti kuo daugiau iš jų, buvo sujungti keli kompiuteriniai terminalai, kurie leido daugeliui vartotojų vienu metu pereiti prie savo verslo. Duomenys tvarkomi ir saugomi mašinoje, o pačios gnybtai yra šiek tiek daugiau nei duomenų peržiūros ir įvedimo priemonė. Jei pagalvoji apie tai, tai gana daug, kaip mes pasiekiame "debesis" duomenis; pažvelkite į "Amazon" "Cloud" "MP3" sistemą, "Gmail" ir "Dropbox", ir jūs pastebėsite, kad nors pakeitimai gali būti atliekami vietoje, viskas saugoma nuotoliniu būdu.

(Vaizdas: "Zenith Z-19" "dumb" terminalas; kreditas: ajmexico)
(Vaizdas: "Zenith Z-19" "dumb" terminalas; kreditas: ajmexico)

Kad tai veiktų, atskiriems naudotojams reikia turėti sąskaitas. Jie turi turėti jiems skirtą saugojimo plotą, jiems turi būti leidžiama paleisti komandas ir programas. Kiekvienas žmogus gauna konkrečius "naudotojo leidimus", kurie diktuoja tai, ką jie gali ir negali padaryti, kur jie veikia sistemoje ir neturi prieigos, ir kurių failus jie gali ir negalima keisti. Kiekvienas vartotojas taip pat yra įtrauktas į įvairias grupes, kurios suteikia arba riboja tolesnę prieigą.

Failo prieiga

Šiuo beprotiško daugelio naudotojų pasauliu mes jau nustatėme ribas, ką vartotojai gali daryti. Bet ką jie turi prieigą? Na, kiekvienas failas turi leidimų rinkinį ir savininką. Savininko žymėjimas, kuris paprastai yra susijęs, kai failas yra sukurtas, deklaruoja, kuriam vartotojui jis priklauso, ir tik tas vartotojas gali keisti savo prieigos teises.
Šiuo beprotiško daugelio naudotojų pasauliu mes jau nustatėme ribas, ką vartotojai gali daryti. Bet ką jie turi prieigą? Na, kiekvienas failas turi leidimų rinkinį ir savininką. Savininko žymėjimas, kuris paprastai yra susijęs, kai failas yra sukurtas, deklaruoja, kuriam vartotojui jis priklauso, ir tik tas vartotojas gali keisti savo prieigos teises.

Linux pasaulyje, leidimai suskirstyti į tris kategorijas: skaityti, rašyti ir vykdyti. "Skaitymo" prieiga leidžia žiūrėti failo turinį, "įrašo" prieiga leidžia keisti failo turinį, o "vykdymas" leidžia paleisti instrukcijų rinkinį, pvz., Scenarijų arba programą. Kiekviena iš šių kategorijų yra taikoma skirtingoms klasėms: naudotojui, grupei ir pasauliui. "Vartotojas" reiškia savininką, "grupė" reiškia bet kurį naudotoją, kuris yra toje pačioje grupėje kaip ir savininkas, o "pasaulis" reiškia bet kas ir visi.

Aplankus taip pat galima apriboti šiais leidimais. Pavyzdžiui, galite leisti kitiems jūsų grupės nariams peržiūrėti katalogus ir failus savo namų aplanke, bet ne kas nors už jūsų grupės ribų. Tikriausiai norėsite apriboti "rašyti" prieigą tik sau, nebent dirbate su kokiu nors bendrai naudojamu projektu. Taip pat galite sukurti bendrinamą katalogą, kuris leidžia visiems peržiūrėti ir keisti šio aplanko failus.
Aplankus taip pat galima apriboti šiais leidimais. Pavyzdžiui, galite leisti kitiems jūsų grupės nariams peržiūrėti katalogus ir failus savo namų aplanke, bet ne kas nors už jūsų grupės ribų. Tikriausiai norėsite apriboti "rašyti" prieigą tik sau, nebent dirbate su kokiu nors bendrai naudojamu projektu. Taip pat galite sukurti bendrinamą katalogą, kuris leidžia visiems peržiūrėti ir keisti šio aplanko failus.

Pakeisti leidimus "Ubuntu"

GUI

Norėdami pakeisti leidimus failo, kurį turite Ubuntu, tiesiog dešiniuoju pelės mygtuku spustelėkite failą ir eikite į "Ypatybės".

Galite pakeisti, ar savininkas, grupė ar kt. Gali skaityti ir rašyti, skaityti tik arba nieko nedaryti. Taip pat galite pažymėti dėžutę, kad būtų galima vykdyti failą, ir tai įgalins jį vienu metu savininkui, grupei ir kt.
Galite pakeisti, ar savininkas, grupė ar kt. Gali skaityti ir rašyti, skaityti tik arba nieko nedaryti. Taip pat galite pažymėti dėžutę, kad būtų galima vykdyti failą, ir tai įgalins jį vienu metu savininkui, grupei ir kt.

Komandinė eilutė

Taip pat galite tai padaryti komandinėje eilutėje. Eikite į katalogą, kuriame yra failai, ir įveskite šią komandą, kad galėtumėte peržiūrėti visus sąraše esančius failus:

ls -al

Šalia kiekvieno failo ir aplanko matysite specialų skyrių, kuriame bus nurodyti jo leidimai. Atrodo taip:
Šalia kiekvieno failo ir aplanko matysite specialų skyrių, kuriame bus nurodyti jo leidimai. Atrodo taip:

-rwxrw-r–

The r reiškia "skaityti" w reiškia "rašyti" ir x reiškia "execute". Katalogai bus pradėti nuo "d", o ne "-". Taip pat pastebėsite, kad yra 10 erdvių, kurių vertė. Galite ignoruoti pirmąjį, o tada yra 3 rinkiniai iš 3. Pirmasis rinkinys skirtas savininkui, antrasis rinkinys skirtas grupei, o paskutinis rinkinys skirtas pasauliui.

Norėdami pakeisti failo ar katalogo leidimus, pažvelkime į pagrindinę komandos chmod formą.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Iš pradžių tai gali atrodyti sudėtinga, bet pasitikėk manimi, tai gana paprasta. Pirmiausia pažvelkime į klases:

  • u: tai savininkui.
  • g: Tai yra grupei.
  • o: Tai yra visiems kitiems.
  • a: Tai pakeis visus aukščiau nurodytus leidimus.

Be to, operatoriai:

  • +: Pliuso ženklas prideda leidimus, kurie seka.
  • -: minuso ženklas pašalins tuos leidimus.

Vis dar su manimi? Ir paskutinis skyrius yra tas pats, kai patikrinome failo teises:

  • r: Leidžia skaityti prieigą.
  • w: Leidžia rašyti prieigą.
  • x: Leidžia vykdyti.

Dabar palikime jį kartu. Tarkime, kad turime failą pavadinimu "todo.txt", turinčiu šiuos leidimus:

-rw-rw-r–

Tai reiškia, kad savininkas ir grupė gali skaityti ir rašyti, o pasaulis gali skaityti. Mes norime keisti leidimus šiems:

-rwxr-–

Tai reiškia, kad savininkas turi visus leidimus ir grupė gali skaityti. Mes galime tai padaryti 3 žingsniais. Pirma, mes pridėsime vykdomąjį leidimą naudotojui.

chmod u+x todo.txt

Tada pašalinsime rašymo leidimą grupei.

chmod g-w todo.txt

Galiausiai pašalinsime skaitymo teises visiems kitiems naudotojams.

chmod o-r todo.txt

Mes taip pat galime juos sujungti į vieną komandą:

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

Galite matyti, kad kiekviena sekcija yra atskirta kableliais ir nėra tarpų.
Galite matyti, kad kiekviena sekcija yra atskirta kableliais ir nėra tarpų.

Štai keletas naudingų leidimų:

  • -rwxr-xr-x: savininkas turi visus leidimus, grupės ir kiti vartotojai gali skaityti failo turinį ir vykdyti.
  • -rwxr-r-: savininkas turi visus leidimus, grupės ir kiti naudotojai gali skaityti tik failą (naudinga, jei jūs neprieštaraujate kitiems, kurie peržiūri failus.
  • -rwx--: savininkas turi visus leidimus, visi kiti neturi (naudinga asmeniniams scenarijams).
  • -rw-rw--: Savininkas ir grupė gali skaityti ir rašyti (naudinga bendradarbiauti su grupės nariais).
  • -rw-r-r-: Savininkas gali skaityti ir rašyti, grupė ir kiti naudotojai gali skaityti tik failą (naudinga saugant asmeninius failus bendrame tinkle).
  • -rw ---: Savininkas gali skaityti ir rašyti, visi kiti neturi (naudinga saugant asmeninius failus).

Yra keletas kitų dalykų, kuriuos galite padaryti su chmod, pvz., Setuid ir setgid, tačiau jie yra šiek tiek nuodugni ir dauguma vartotojų iš tikrųjų jų nebereikės vis tiek naudoti.

Root arba Super-vartotojo ir sistemos failai

Šiuo metu mes ne visada tvarkome sistemas, kuriose yra keli vartotojai. Kodėl vis dar turėtume nerimauti dėl leidimų?
Šiuo metu mes ne visada tvarkome sistemas, kuriose yra keli vartotojai. Kodėl vis dar turėtume nerimauti dėl leidimų?

Na, "Unix" ir jos išvestiniai produktai - "Linux", "OS X", be kita ko - taip pat skiriasi nuo vartotojo vykdomų dalykų, administratoriaus ar administratoriaus privilegijų ir dalykų, kuriuos vykdo pati sistema. Todėl sistemai būdingi dalykai turi turėti administratoriaus privilegijas, kurias reikia keisti ar pasiekti. Tokiu būdu nieko netyčia netyčia nemalonaus.

"Ubuntu", norėdami keisti sistemos failus, naudojate "sudo" arba "gksudo", kad gautumėte administratoriaus privilegijų lygiavertiškumą. Kitose distrosse jūs pereinate į "root" arba "super-user", kuris efektyviai veikia tą patį, kol išeinate.

Atkreipkite dėmesį, kad abiem atvejais, pakeitus failų leidimus, programos gali neveikti, netyčia keisti failo nuosavybės teisę į pagrindinį naudotoją (vietoj savininko) ir padaryti sistemą mažiau saugiu (suteikiant daugiau leidimų). Todėl rekomenduojama nekeisti leidimų failams, ypač sistemos failams, išskyrus atvejus, kai tai būtina arba žinote, ką jūs darote.

Yra failų leidimai, skirti vartotojams suteikti pagrindinę saugumo sistemą. Mokymasis, kaip jie veikia, gali padėti jums nustatyti pagrindinį dalijimąsi daugelio naudotojų aplinkoje, apsaugoti "viešuosius" failus ir parodyti, kaip kažkas negerai su sistemos failų nuosavybe.

Manote, kad galite lengviau paaiškinti dalykus? Ar turite pataisą? Norite prisiminti senas dienas? Pertraukite savo mintis į komentarus.

Rekomenduojamas: