V Linuxu dovoljenja za datoteke, atributi in lastništvo nadzorujejo raven dostopa, ki jo sistem obdeluje in uporabniki do datotek. To zagotavlja, da lahko samo pooblaščeni uporabniki in procesi dostopajo do določenih datotek in imenikov.
Dovoljenja za datoteke Linux
Osnovni model dovoljenj za Linux deluje tako, da vsako sistemsko datoteko poveže z lastnikom in skupino ter dodeli pravice za dostop do dovoljenj za tri različne razrede uporabnikov:
- Lastnik datoteke.
- Člani skupine.
- Drugi (vsi ostali).
Lastništvo datoteke lahko spremenite s pomočjo chown
in chgrp
ukazi.
Za vsak razred uporabnikov veljajo tri vrste dovoljenj za datoteke:
- Dovoljenje za branje.
- Dovoljenje za pisanje.
- Dovoljenje za izvršitev.
Ta koncept vam omogoča nadzor nad tem, kateri uporabniki lahko berejo datoteko, pišejo v datoteko ali izvršijo datoteko.
Če si želite ogledati dovoljenja za datoteke, uporabite ls
ukaz:
ls -l ime_datoteke
-rw-r - r-- 12 linuxize uporabnike 12.0K 28. april 10:10 ime_datoteke | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Skupina | | | | | + -------------------> 6. Lastnik | | | | + --------------------------> 5. Nadomestni način dostopa | | | + ----------------------------> 4. Ostala dovoljenja | | + -------------------------------> 3. Dovoljenja za skupine | + ----------------------------------> 2. Lastniška dovoljenja + ------------------------------------> 1. Vrsta datoteke
Prvi znak označuje vrsto datoteke. Lahko je običajna datoteka (-
), imenik (d
), simbolična povezava (l
) ali druge posebne vrste datotek. Naslednjih devet znakov predstavlja dovoljenja za datoteke, trije tripleti po tri znake. Prva trojka prikazuje dovoljenja lastnika, druga dovoljenja skupine in zadnja trojka dovoljenja vseh drugih.
V zgornjem primeru (rw-r - r--
) pomeni, da ima lastnik datoteke dovoljenja za branje in pisanje (rw-
), skupina in drugi imajo samo dovoljenja za branje (r--
).
Dovoljenja za datoteke imajo drugačen pomen, odvisno od vrste datoteke.
Vsak od treh dovolilnih trojkov je lahko sestavljen iz naslednjih znakov in ima različne učinke, odvisno od tega, ali so nastavljeni na datoteko ali imenik:
Vpliv dovoljenj na datoteke
Dovoljenje | Značaj | Pomen v datoteki |
---|---|---|
Preberite | - | Datoteke ni mogoče prebrati. Vsebine datoteke si ne morete ogledati. |
r | Datoteka je berljiva. | |
Napiši | - | Datoteke ni mogoče spremeniti ali spremeniti. |
w | Datoteko lahko spremenite ali spremenite. | |
Izvedite | - | Datoteke ni mogoče izvršiti. |
x | Datoteko je mogoče zagnati. | |
s | Če ga najdete v uporabnik triplet, nastavi setuid bit. Če ga najdete v skupini triplet, nastavi setgid bit. To tudi pomeni x zastava je nastavljena.Ko setuid ali setgid zastave so nastavljene na izvršljivi datoteki, datoteka se izvede z lastnikom datoteke in / ali privilegiji skupine. | |
S | Enako kot s , toda x zastava ni nastavljena. Ta zastava se redko uporablja v datotekah. | |
t | Če ga najdete v drugi triplet, nastavi lepljiv bit.To tudi pomeni x zastava je nastavljena. Ta zastavica je v datotekah neuporabna. | |
T | Enako kot, t toda x zastava ni nastavljena. Ta zastavica je v datotekah neuporabna. |
Vpliv dovoljenj na imenike (mape)
Imeniki so posebne vrste datotek, ki lahko vsebujejo druge datoteke in imenike.
Dovoljenje | Značaj | Pomen v imeniku |
---|---|---|
Preberite | - | Vsebine imenika ni mogoče prikazati. |
r | Vsebina imenika je lahko prikazana. (npr.g., Datoteke v imeniku lahko navedete z ls .) | |
Napiši | - | Vsebine imenika ni mogoče spremeniti. |
w | Vsebino imenika je mogoče spremeniti. (npr.g., Lahko ustvarite nove datoteke, izbrišete datoteke ... itd.) | |
Izvedite | - | Imenika ni mogoče spremeniti v. |
x | Po imeniku je mogoče krmariti z uporabo cd . | |
s | Če ga najdete v uporabnik triplet, nastavi setuid bit. Če ga najdete v skupini triplet nastavi setgid bit. To tudi pomeni x zastava je nastavljena. Ko setgid zastava je nastavljena na imenik, nove datoteke, ustvarjene v njem, podedujejo ID skupine imenikov (GID) namesto primarne skupine ID uporabnika, ki je ustvaril datoteko.setuid nima vpliva na imenike. | |
S | Enako kot s , toda x zastava ni nastavljena. Ta zastavica je v imenikih neuporabna. | |
t | Če ga najdete v drugi triplet, nastavi lepljiv bit.To tudi pomeni x zastava je nastavljena. Ko je lepljivi bit nastavljen v imeniku, lahko samo lastnik datoteke, lastnik imenika ali skrbniški uporabnik izbriše ali preimenuje datoteke v imeniku. | |
T | Enako kot t , toda x zastava ni nastavljena. Ta zastavica je v imenikih neuporabna. |
Spreminjanje dovoljenj za datoteke #
Dovoljenja za datoteke lahko spremenite z chmod
ukaz. Dovoljenja datoteke lahko spremeni samo root, lastnik datoteke ali uporabnik s privilegiji sudo. Pri uporabi bodite previdni chmod
, še posebej pri rekurzivnem spreminjanju dovoljenj. Ukaz lahko kot argumente sprejme eno ali več datotek in / ali imenikov, ločenih s presledkom.
Dovoljenja lahko določite s simboličnim načinom, številskim načinom ali referenčno datoteko.
Simbolična (besedilna) metoda #
Sintaksa chmod
ukaz pri uporabi simboličnega načina ima naslednjo obliko:
chmod [OPTIONS] [ugoa…] [- + =] perms… [,…] FILE…
Prvi sklop zastav ([ugoa…]
), uporabniške zastavice, definira uporabniške razrede, za katere se spremenijo dovoljenja za datoteko.
u
- Lastnik datoteke.g
- Uporabniki, ki so člani skupine.o
- Vsi drugi uporabniki.a
- Vsi uporabniki, enakiugo
.
Ko je uporabniška zastavica izpuščena, je privzeto a
.
Drugi sklop zastav ([- + =]
), operacijske zastavice, določa, ali je treba dovoljenja odstraniti, dodati ali nastaviti:
-
- Odstrani navedena dovoljenja.+
- Doda določena dovoljenja.=
- Spremeni trenutna dovoljenja na navedena dovoljenja. Če po. Ni dovoljenj=
simbol, so odstranjena vsa dovoljenja iz določenega uporabniškega razreda.
Dovoljenja (trajne ..
) so izrecno nastavljeni z ničlo ali eno ali več naslednjimi črkami: r
, w
, x
, X
, s
, in t
. Uporabite eno črko iz kompleta u
, g
, in o
pri kopiranju dovoljenj iz razreda v razred drugega uporabnika.
Pri nastavljanju dovoljenj za več uporabniških razredov ([,…]
), uporabite vejice (brez presledkov) za ločevanje simboličnih načinov.
Tu je nekaj primerov uporabe chmod
ukaz v simbolnem načinu:
Članom skupine dajte dovoljenje za zagon datoteke, ne pa za branje in pisanje vanjo:
chmod g = x ime datoteke
Odstranite dovoljenje za pisanje za vse uporabnike:
chmod a-w ime datoteke
Odstranite dovoljenje za izvajanje za druge uporabnike:
chmod -R o-x dirname
Odstranite dovoljenje za branje, pisanje in izvajanje za vse uporabnike, razen za lastnika datoteke:
chmod og-rwx ime datoteke
Isto lahko dosežemo tudi z uporabo naslednjega obrazca:
chmod og = ime datoteke
Lastniku datoteke podelite dovoljenje za branje, pisanje in izvrševanje, skupini datotek pa dovoljenja za branje, vsem ostalim uporabnikom pa ne:
chmod u = rwx, g = r, o = ime datoteke
Številčna metoda št
Sintaksa chmod
ukaz pri uporabi simboličnega načina ima naslednjo obliko:
chmod [MOŽNOSTI] ŠTEVILKA DATOTEKE…
Ko uporabljate številski način, lahko hkrati nastavite dovoljenja za vse tri uporabniške razrede (lastnik, skupina in vsi drugi).
Številka dovoljenja je lahko 3 ali 4-mestna številka. Ko je uporabljena 3-mestna številka, prva številka predstavlja dovoljenja lastnika datoteke, druga skupino datoteke, zadnja pa vse ostale uporabnike.
Vsako dovoljenje za pisanje, branje in izvajanje ima naslednjo številčno vrednost:
r
(beri) = 4w
(piši) = 2x
(izvedba) = 1- ni dovoljenj = 0
Številko dovoljenj določenega uporabniškega razreda predstavlja vsota vrednosti dovoljenj za to skupino.
Če želite izvedeti dovoljenja za datoteko v številskem načinu, preprosto izračunajte vsote za vse razrede uporabnikov. Če želite na primer lastniku datoteke dati dovoljenje za branje, pisanje in izvajanje, dovoljenja za branje in izvajanje za skupino datotek in dovoljenja za branje samo vsem ostalim uporabnikom, naredite naslednje:
- Lastnik: rwx = 4 + 2 + 1 = 7
- Skupina: r-x = 4 + 0 + 1 = 5
- Drugo: r-x = 4 + 0 + 0 = 4
Z uporabo zgornje metode pridemo do številke 754
, kar predstavlja želena dovoljenja.
Za nastavitev setuid
, setgid
, in lepljiv košček
zastavice, uporabite štirimestno številko.
Ko je uporabljena štirimestna številka, ima prva številka naslednji pomen:
- setuid = 4
- setgid = 2
- lepljiv = 1
- brez sprememb = 0
Naslednje tri številke imajo enak pomen kot pri uporabi 3-mestne številke.
Če je prva številka 0, jo lahko izpustite, način pa lahko predstavite s tremi števkami. Številski način 0755
je enako kot 755
.
Za izračun številskega načina lahko uporabite tudi drugo metodo (binarna metoda), ki pa je nekoliko bolj zapletena. Vedeti, kako izračunati številski način s pomočjo 4, 2 in 1, zadostuje za večino uporabnikov.
Dovoljenja za datoteko lahko preverite v številčnem zapisu s pomočjo stat
ukaz:
stat -c "% a" ime_datoteke
Tu je nekaj primerov uporabe chmod
ukaz v številskem načinu:
Lastniku datoteke podelite dovoljenja za branje in pisanje ter dovoljenja za branje samo članom skupine in vsem ostalim uporabnikom:
ime chmod 644
Lastniku datoteke omogočite branje, pisanje in izvajanje dovoljenj, branje in izvajanje dovoljenj za člane skupine in nobenih dovoljenj za vse druge uporabnike:
chmod 750 dirname
Dajte dovoljenja za branje, pisanje in izvrševanje ter lepljivi del v danem imeniku:
chmod 1777 dirname
Rekurzivno nastavite dovoljenja za branje, pisanje in izvajanje lastniku datoteke in brez dovoljenj za vse druge uporabnike v danem imeniku:
chmod -R 700 dirname
Zaključek #
V Linuxu je dostop do datotek omejen z dovoljenji, atributi in lastništvom datotek. Če želite spremeniti dovoljenja datoteke, uporabite chmod
ukaz.
Če imate kakršna koli vprašanja ali povratne informacije, vas prosimo, da pustite komentar.