„Linux“ failų leidimai, atributai ir nuosavybės teisės kontroliuoja prieigos lygį, kurį sistemos procesai ir vartotojai turi failams. Tai užtikrina, kad tik įgalioti vartotojai ir procesai gali pasiekti konkrečius failus ir katalogus.
„Linux“ failo leidimai #
Pagrindinis „Linux“ leidimų modelis veikia susiejant kiekvieną sistemos failą su savininku ir grupe ir priskiriant leidimų prieigos teises trims skirtingoms vartotojų klasėms:
- Failo savininkas.
- Grupės nariai.
- Kiti (visi kiti).
Failo nuosavybę galima pakeisti naudojant chown
ir chgrp
komandos.
Kiekvienai vartotojų klasei taikomi trys failų leidimų tipai:
- Skaitymo leidimas.
- Rašymo leidimas.
- Vykdyti leidimą.
Ši koncepcija leidžia jums kontroliuoti, kurie vartotojai gali skaityti failą, rašyti į failą ar vykdyti failą.
Norėdami peržiūrėti failo teises, naudokite ls
komanda:
ls-failo_vardas
-rw-r - r-- 12 linuxize vartotojai 12.0K balandžio 28 d. 10:10 failo_vardas | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Grupė | | | | | + -------------------> 6. Savininkas | | | | + --------------------------> 5. Alternatyvios prieigos metodas | | + ----------------------------> 4. Kiti leidimai | + -------------------------------> 3. Grupės leidimai + ----------------------------------> 2. Savininko leidimai + ------------------------------------> 1. Failo tipas
Pirmasis simbolis nurodo failo tipą. Tai gali būti įprasta byla (-
), katalogas (d
), simbolinė nuoroda (l
) ar kitų specialių failų tipų. Šie devyni simboliai reiškia failo teises, trys po tris po tris simbolius. Pirmasis trynukas rodo savininko leidimus, antrasis grupės leidimus, o paskutinis trynukas rodo visų kitų leidimus.
Aukščiau pateiktame pavyzdyje (rw-r - r--
) reiškia, kad failo savininkas turi skaitymo ir rašymo teises (rw-
), grupė ir kiti turi tik skaitymo leidimus (r--
).
Failo leidimai turi skirtingą reikšmę, atsižvelgiant į failo tipą.
Kiekvienas iš trijų leidimų trynukų gali būti sudarytas iš šių simbolių ir turėti skirtingus efektus, atsižvelgiant į tai, ar jie nustatyti į failą, ar į katalogą:
Leidimų poveikis failams
Leidimas | Charakteris | Reikšmė faile |
---|---|---|
Perskaityk | - | Failas nėra skaitomas. Negalite peržiūrėti failo turinio. |
r | Failas yra skaitomas. | |
Rašykite | - | Failo pakeisti ar modifikuoti negalima. |
w | Failą galima pakeisti arba modifikuoti. | |
Vykdyti | - | Failas negali būti vykdomas. |
x | Failą galima vykdyti. | |
s | Jei rasta Vartotojas trynukas, jis nustato setuid šiek tiek. Jei rasta grupė trynukas, jis nustato setgid šiek tiek. Tai taip pat reiškia tai x uždėta vėliava.Kai setuid arba setgid žymos nustatomos vykdomajame faile, failas vykdomas su failo savininko ir (arba) grupės teisėmis. | |
S | Taip pat kaip s , bet x vėliava nenustatyta. Ši žyma failuose naudojama retai. | |
t | Jei rasta kiti trynukas, jis nustato lipnus šiek tiek.Tai taip pat reiškia tai x uždėta vėliava. Ši žyma nenaudinga bylose. | |
T | Taip pat kaip, t bet x vėliava nenustatyta. Ši žyma nenaudinga bylose. |
Leidimų poveikis katalogams (aplankams)
Katalogai yra specialūs failų tipai, kuriuose gali būti kitų failų ir katalogų.
Leidimas | Charakteris | Reikšmė kataloge |
---|---|---|
Perskaityk | - | Katalogo turinys negali būti rodomas. |
r | Katalogo turinį galima parodyti. (el.g., Kataloge esančius failus galite išvardyti naudodami ls .) | |
Rašykite | - | Katalogo turinio pakeisti negalima. |
w | Katalogo turinį galima pakeisti. (el.g., Galite kurti naujus failus, ištrinti failus ir pan.) | |
Vykdyti | - | Katalogo negalima pakeisti į. |
x | Kataloge galima naršyti naudojant cd . | |
s | Jei rasta Vartotojas trynukas, jis nustato setuid šiek tiek. Jei rasta grupė tripletas jis nustato setgid šiek tiek. Tai taip pat reiškia tai x uždėta vėliava. Kai setgid vėliava nustatyta kataloge, jame sukurti nauji failai paveldi katalogo grupės ID (GID), o ne pirminį grupės ID vartotojui, sukūrusiam failą.setuid neturi jokios įtakos katalogams. | |
S | Taip pat kaip s , bet x vėliava nenustatyta. Kataloguose ši vėliava nenaudinga. | |
t | Jei rasta kiti trynukas, jis nustato lipnus šiek tiek.Tai taip pat reiškia tai x uždėta vėliava. Kai kataloge nustatytas lipnusis bitas, tik failo savininkas, katalogo savininkas arba administravimo vartotojas gali ištrinti arba pervadinti failus kataloge. | |
T | Taip pat kaip t , bet x vėliava nenustatyta. Kataloguose ši vėliava nenaudinga. |
Failo leidimų keitimas #
Failo teises galima pakeisti naudojant chmod
komandą. Keisti failo teises gali tik root, failo savininkas arba vartotojas, turintis sudo teises. Būkite ypač atsargūs naudodami chmod
, ypač rekursyviai keičiant leidimus. Komanda gali priimti vieną ar daugiau failų ir (arba) katalogų, atskirtų tarpu, kaip argumentus.
Leidimus galima nurodyti naudojant simbolinį režimą, skaitinį režimą arba nuorodos failą.
Simbolinio (teksto) metodo #
Sintaksė chmod
komanda, naudodama simbolinį režimą, turi tokį formatą:
chmod [PASIRINKIMAI] [ugoa…] [- + =] perms… [,…] FILE…
Pirmasis vėliavų rinkinys ([ugoa ...]
), vartotojai pažymi, apibrėžia vartotojų klases, kurioms keičiamos failo teisės.
u
- Failo savininkas.g
- Vartotojai, kurie yra grupės nariai.o
- Visi kiti vartotojai.a
- Visi vartotojai, identiškiugo
.
Kai vartotojo vėliava praleidžiama, ji pagal nutylėjimą yra a
.
Antrasis vėliavų rinkinys ([- + =]
), operacijos žymos nurodo, ar reikia pašalinti, pridėti ar nustatyti leidimus:
-
- Pašalina nurodytus leidimus.+
- Prideda nurodytus leidimus.=
- Pakeičia dabartinius leidimus į nurodytus leidimus. Jei po leidimo nėra suteikiami leidimai=
simbolis, visi leidimai iš nurodytos vartotojo klasės pašalinami.
Leidimai (perms…
) yra aiškiai nustatyti naudojant nulį arba vieną ar daugiau iš šių raidžių: r
, w
, x
, X
, s
, ir t
. Naudokite vieną raidę iš rinkinio u
, g
, ir o
kopijuojant leidimus iš vienos vartotojų klasės.
Nustatant daugiau nei vienos vartotojo klasės leidimus ([,…]
), naudokite kablelius (be tarpų), kad atskirtumėte simbolinius režimus.
Štai keletas pavyzdžių, kaip naudoti chmod
komanda simboliniu režimu:
Suteikite grupės nariams leidimą vykdyti failą, bet ne skaityti ir rašyti:
chmod g = x failo pavadinimas
Pašalinkite rašymo leidimą visiems vartotojams:
chmod a-w failo vardas
Atgrasomai pašalinkite vykdymo leidimą kitiems vartotojams:
chmod -R o-x dirname
Pašalinkite skaitymo, rašymo ir vykdymo leidimą visiems vartotojams, išskyrus failo savininką:
chmod og-rwx failo vardas
Tą patį galima atlikti naudojant šią formą:
chmod og = failo vardas
Suteikite skaitymo, rašymo ir vykdymo leidimą failo savininkui, skaitymo leidimus failo grupei ir jokiems kitiems vartotojams:
chmod u = rwx, g = r, o = failo pavadinimas
Skaitinis metodas #
Sintaksė chmod
komanda, naudodama simbolinį režimą, turi tokį formatą:
chmod [PASIRINKIMAI] NUMERIO FILE
Naudodami skaitinį režimą, galite vienu metu nustatyti visų trijų vartotojų klasių (savininko, grupės ir visų kitų) teises.
Leidimo numeris gali būti 3 arba 4 skaitmenų. Kai naudojamas 3 skaitmenų numeris, pirmasis skaitmuo nurodo failo savininko teises, antrasis - failo grupę, o paskutinis - visus kitus vartotojus.
Kiekvienas rašymo, skaitymo ir vykdymo leidimas turi tokią skaičiaus vertę:
r
(skaityti) = 4w
(parašyti) = 2x
(vykdyti) = 1- nėra leidimų = 0
Konkrečios vartotojo klasės leidimų numerį atspindi tos grupės leidimų reikšmių suma.
Norėdami sužinoti failo teises skaitiniu režimu, tiesiog apskaičiuokite visų vartotojų klasių sumas. Pavyzdžiui, norėdami suteikti skaitymo, rašymo ir vykdymo leidimą failo savininkui, skaitymo ir vykdymo leidimus failo grupei ir skaitymo leidimus tik visiems kitiems vartotojams, atlikite šiuos veiksmus:
- Savininkas: rwx = 4 + 2 + 1 = 7
- Grupė: r-x = 4 + 0 + 1 = 5
- Kiti: r-x = 4 + 0 + 0 = 4
Naudodamiesi aukščiau pateiktu metodu, mes pasiekiame skaičių 754
, kuris reiškia norimus leidimus.
Norėdami sukurti setuid
, setgid
, ir lipnus antgalis
vėliavas, naudokite keturių skaitmenų skaičių.
Kai naudojamas 4 skaitmenų skaičius, pirmasis skaitmuo turi tokią reikšmę:
- setuid = 4
- setgid = 2
- lipnus = 1
- jokių pakeitimų = 0
Kiti trys skaitmenys turi tą pačią reikšmę, kaip ir naudojant 3 skaitmenų skaičių.
Jei pirmasis skaitmuo yra 0, jo negalima praleisti, o režimą galima pateikti 3 skaitmenimis. Skaitmeninis režimas 0755
yra tas pats kaip 755
.
Norėdami apskaičiuoti skaitinį režimą, taip pat galite naudoti kitą metodą (dvejetainį metodą), tačiau jis yra šiek tiek sudėtingesnis. Daugumai vartotojų pakanka žinoti, kaip apskaičiuoti skaitinį režimą naudojant 4, 2 ir 1.
Galite patikrinti failo teises skaitmeniniame žymėjime naudodami stat
komanda:
stat -c "% a" failo_vardas
Štai keletas pavyzdžių, kaip naudoti chmod
komanda skaitmeniniu režimu:
Suteikite failo savininkui skaitymo ir rašymo teises ir skaitymo teises tik grupės nariams ir visiems kitiems vartotojams:
chmod 644 dirname
Suteikite failo savininkui skaitymo, rašymo ir vykdymo teises, skaitymo ir vykdymo teises grupės nariams ir jokiems kitiems vartotojams:
chmod 750 dirname
Suteikite skaitymo, rašymo ir vykdymo teises bei lipnią informaciją tam tikram katalogui:
chmod 1777 dirname
Rekursyviai nustatykite failo savininkui skaitymo, rašymo ir vykdymo teises bei visiems kitiems nurodyto katalogo vartotojams:
chmod-R 700 dirname
Išvada Nr
„Linux“ prieiga prie failų ribojama naudojant failų teises, atributus ir nuosavybės teises. Norėdami pakeisti failo teises naudokite chmod
komandą.
Jei turite klausimų ar atsiliepimų, palikite komentarą.