V systéme Linux oprávnenia, atribúty a vlastníctvo súborov riadia úroveň prístupu, ktorú systém spracováva a používatelia musia mať k súborom. To zaisťuje, že iba autorizovaní používatelia a procesy majú prístup k špecifickým súborom a adresárom.
Povolenia súborov Linux #
Základný model povolení systému Linux funguje tak, že každý systémový súbor je priradený k vlastníkovi a skupine a k nim sú priradené prístupové práva pre tri rôzne triedy používateľov:
- Vlastník súboru.
- Členovia skupiny.
- Ostatní (všetci ostatní).
Vlastníctvo súboru je možné zmeniť pomocou chown
a chgrp
príkazy.
Pre každú triedu používateľov platia tri typy povolení súborov:
- Povolenie na čítanie.
- Písomné povolenie.
- Vykonať povolenie.
Táto koncepcia vám umožňuje určiť, ktorí používatelia môžu čítať súbor, zapisovať do súboru alebo vykonávať súbor.
Ak chcete zobraziť povolenia súboru, použite je
príkaz:
ls -l názov_súboru
-rw-r - r-- 12 linuxize users 12.0K 28. apríla 10:10 názov_súboru | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Skupina | | | | | + -------------------> 6. Vlastník | | | | + --------------------------> 5. Alternatívna metóda prístupu | | + ----------------------------> 4. Ostatné povolenia | + -------------------------------> 3. Skupinové povolenia + ----------------------------------> 2. Povolenia vlastníka + ------------------------------------> 1. Typ súboru
Prvý znak označuje typ súboru. Môže to byť bežný súbor (-
), adresár (d
), symbolický odkaz (l
) alebo iné špeciálne typy súborov. Nasledujúcich deväť znakov predstavuje oprávnenie súboru, tri triplety po tri znaky. Prvá trojica zobrazuje povolenia vlastníka, druhá skupina povolenia a posledná trojica zobrazuje povolenia všetkých ostatných.
Vo vyššie uvedenom príklade (rw-r - r--
) znamená, že vlastník súboru má povolenie na čítanie a zápis (rw-
), skupina a ďalší majú iba povolenia na čítanie (r--
).
Povolenia súborov majú rôzny význam v závislosti od typu súboru.
Každé z troch trojíc povolení môže byť zostavené z nasledujúcich znakov a môžu mať rôzne efekty v závislosti od toho, či sú nastavené do súboru alebo do adresára:
Vplyv povolení na súbory
Povolenie | Postava | Význam v priečinku |
---|---|---|
Čítať | - | Súbor nie je čitateľný. Nie je možné zobraziť obsah súboru. |
r | Súbor je čitateľný. | |
Napíš | - | Súbor nie je možné meniť ani upravovať. |
w | Súbor je možné meniť alebo upravovať. | |
Vykonať | - | Súbor nie je možné vykonať. |
X | Súbor je možné vykonať. | |
s | Ak sa nachádzajú v používateľ triplet, nastavuje setuid trocha. Ak sa nachádzajú v skupina triplet, nastavuje setgid trocha. To tiež znamená X vlajka je nastavená.Keď setuid alebo setgid príznaky sú nastavené na spustiteľný súbor, súbor je spustený s oprávnením vlastníka alebo skupiny súboru. | |
S | Rovnaké ako s , ale X vlajka nie je nastavená. Tento príznak sa v súboroch používa zriedka. | |
t | Ak sa nachádzajú v iné triplet, nastavuje lepkavý trocha.To tiež znamená X vlajka je nastavená. Tento príznak je v súboroch zbytočný. | |
T | Rovnaké ako, t ale X vlajka nie je nastavená. Tento príznak je v súboroch zbytočný. |
Vplyv povolení na adresáre (priečinky)
Adresáre sú špeciálne typy súborov, ktoré môžu obsahovať ďalšie súbory a adresáre.
Povolenie | Postava | Význam v adresári |
---|---|---|
Čítať | - | Obsah adresára sa nedá zobraziť. |
r | Je možné zobraziť obsah adresára. (napr.g., Súbory v adresári môžete vypísať pomocou je .) | |
Napíš | - | Obsah adresára nie je možné zmeniť. |
w | Obsah adresára je možné meniť. (napr.g., Môžete vytvárať nové súbory, mazať súbory ... atď.) | |
Vykonať | - | Adresár nie je možné zmeniť na. |
X | V adresári sa dá pohybovať pomocou cd . | |
s | Ak sa nachádzajú v používateľ triplet, nastavuje setuid trocha. Ak sa nachádzajú v skupina triplet nastavuje setgid trocha. To tiež znamená X vlajka je nastavená. Keď setgid príznak je nastavený na adresári, nové súbory v ňom vytvorené dedia ID skupiny adresárov (GID) namiesto ID primárnej skupiny používateľa, ktorý súbor vytvoril.setuid nemá žiadny vplyv na adresáre. | |
S | Rovnaké ako s , ale X vlajka nie je nastavená. Táto vlajka je v adresároch zbytočná. | |
t | Ak sa nachádzajú v iné triplet, nastavuje lepkavý trocha.To tiež znamená X vlajka je nastavená. Keď je lepivý bit nastavený v adresári, súbory alebo priečinky v adresári môže vymazať alebo premenovať iba vlastník súboru, vlastník adresára alebo administratívny používateľ. | |
T | Rovnaké ako t , ale X vlajka nie je nastavená. Táto vlajka je v adresároch zbytočná. |
Zmena povolení súboru #
Povolenia súborov je možné zmeniť pomocou chmod
príkaz. Iba root, vlastník súboru alebo užívateľ s oprávneniami sudo môže meniť povolenia súboru. Pri používaní buďte mimoriadne opatrní chmod
, najmä pri rekurzívnej zmene povolení. Príkaz môže prijať ako argumenty jeden alebo viac súborov a / alebo adresárov oddelených medzerou.
Povolenia je možné určiť pomocou symbolického režimu, číselného režimu alebo referenčného súboru.
Symbolická (textová) metóda č
Syntax súboru chmod
príkaz pri použití symbolického režimu má nasledujúci formát:
chmod [MOŽNOSTI] [ugoa…] [- + =] povolenie ... [,…] SÚBOR ..
Prvá sada vlajok ([ugoa ...]
), vlajky používateľov, definuje triedy používateľov, pre ktoré sa menia povolenia k súboru.
u
- Vlastník súboru.g
- Používatelia, ktorí sú členmi skupiny.o
- Všetci ostatní používatelia.a
- Všetci používatelia, totožní sugo
.
Ak je príznak používateľov vynechaný, použije sa predvolená hodnota a
.
Druhá sada vlajok ([- + =]
), operačné príznaky, definuje, či sa majú povolenia odobrať, pridať alebo nastaviť:
-
- Odstráni zadané povolenia.+
- Pridáva zadané povolenia.=
- Zmení aktuálne povolenia na zadané povolenia. Ak po=
symbol, odstránia sa všetky povolenia zo zadanej triedy používateľov.
Povolenia (trvalé oprávnenie…
) sú výslovne nastavené pomocou nuly alebo jedného alebo viacerých z nasledujúcich písmen: r
, w
, X
, X
, s
, a t
. Použite jedno písmeno zo súpravy u
, g
, a o
pri kopírovaní povolení z jednej do inej triedy používateľov.
Pri nastavovaní povolení pre viac ako jednu triedu používateľov ([,…]
), použite čiarky (bez medzier) na oddelenie symbolických režimov.
Tu je niekoľko príkladov použitia chmod
príkaz v symbolickom režime:
Poskytnite členom skupiny povolenie na vykonanie súboru, ale nie na jeho čítanie a zápis:
chmod g = x názov súboru
Odstráňte povolenie na zápis pre všetkých používateľov:
chmod a-w nazov souboru
Odporne odstráňte povolenie na spustenie pre ostatných používateľov:
chmod -R o-x dirname
Odstráňte povolenie na čítanie, zápis a vykonávanie pre všetkých používateľov okrem vlastníka súboru:
chmod og-rwx názov súboru
To isté sa dá dosiahnuť aj pomocou nasledujúceho formulára:
chmod og = názov súboru
Udeľte oprávnenie na čítanie, zápis a vykonávanie vlastníkovi súboru, povolenia na čítanie pre skupinu súboru a žiadne povolenia pre všetkých ostatných používateľov:
chmod u = rwx, g = r, o = názov súboru
Numerická metóda č
Syntax súboru chmod
príkaz pri použití symbolického režimu má nasledujúci formát:
chmod [MOŽNOSTI] ČÍSLO SÚBORU…
Pri použití číselného režimu môžete nastaviť povolenia pre všetky tri triedy používateľov (vlastník, skupina a všetky ostatné) súčasne.
Číslo povolenia môže byť troj- alebo štvormiestne číslo. Ak sa použije trojciferné číslo, prvá číslica predstavuje oprávnenie vlastníka súboru, druhá skupina súborov a posledná všetci ostatní používatelia.
Každé oprávnenie na zápis, čítanie a vykonávanie má nasledujúcu číselnú hodnotu:
r
(prečítané) = 4w
(zápis) = 2X
(vykonať) = 1- žiadne povolenia = 0
Číslo povolení konkrétnej triedy používateľov predstavuje súčet hodnôt povolení pre túto skupinu.
Ak chcete zistiť povolenia súboru v číselnom režime, jednoducho vypočítajte celkové hodnoty pre všetky triedy používateľov. Napríklad ak chcete udeliť povolenie na čítanie, zápis a spustenie vlastníkovi súboru, povolenie na čítanie a vykonávanie do skupiny súboru a povolenie iba na čítanie všetkým ostatným používateľom, postupujte takto:
- Vlastník: rwx = 4 + 2 + 1 = 7
- Skupina: r-x = 4 + 0 + 1 = 5
- Ostatné: r-x = 4 + 0 + 0 = 4
Vyššie uvedenou metódou prídeme k číslu 754
, čo predstavuje požadované oprávnenie.
Ak chcete nastaviť setuid
, setgid
, a lepkavý kúsok
vlajky, použite štvormiestne číslo.
Ak sa použije štvormiestne číslo, má prvá číslica tento význam:
- setuid = 4
- setgid = 2
- lepkavý = 1
- žiadne zmeny = 0
Ďalšie tri číslice majú rovnaký význam ako pri použití 3 číslic.
Ak je prvá číslica 0, je možné ju vynechať a režim je možné vyjadriť 3 číslicami. Číselný režim 0755
je to isté ako 755
.
Na výpočet numerického režimu môžete použiť aj inú metódu (binárnu metódu), ktorá je však trochu komplikovanejšia. Vedieť, ako vypočítať numerický režim pomocou čísel 4, 2 a 1, je pre väčšinu používateľov dostatočné.
Povolenia súboru môžete skontrolovať v číselnom zápise pomocou znaku stat
príkaz:
stat -c "% a" nazov_suboru
Tu je niekoľko príkladov použitia chmod
príkaz v číselnom režime:
Poskytnite vlastníkovi súboru povolenia na čítanie a zápis a iba na čítanie členom skupiny a všetkým ostatným používateľom:
chmod 644 dirname
Poskytnite vlastníkovi súboru povolenia na čítanie, zápis a vykonávanie, povolenia na čítanie a vykonávanie členom skupiny a žiadne povolenia pre všetkých ostatných používateľov:
chmod 750 dirname
Udeľte danému adresáru povolenia na čítanie, zápis a vykonávanie a rýchly bit:
chmod 1777 dirname
Rekurzívne nastavte oprávnenia na čítanie, zápis a vykonávanie pre vlastníka súboru a žiadne povolenia pre všetkých ostatných používateľov v danom adresári:
chmod -R 700 dirname
Záver #
V systéme Linux je prístup k súborom obmedzený pomocou povolení, atribútov a vlastníctva súborov. Ak chcete zmeniť povolenia súboru, použite chmod
príkaz.
Ak máte akékoľvek otázky alebo spätnú väzbu, neváhajte zanechať komentár.