V tomto rýchlom návode uvidíme, ako môžeme použiť chmod príkaz v stroji Ubuntu na vyhľadanie, úpravu a odstránenie povolení používateľa z konkrétnych súborov, ktoré existujú v súborovom systéme používateľa. Pohrajme si rôzne podmienky, aby sme zvládli základné chmod príkazy, ktoré nám môžu uľahčiť každodenný život s Ubuntu.
Povolenia pre systém Linux
Povolenia pre Linux sú skvelým súborom pravidiel, ktoré sú ľahko pochopiteľné, ak pochopíme základné práva. Tri hlavné body, ktoré musíme pochopiť, aby sme vedeli, ako fungujú povolenia systému Linux, sú:
- Prvok, pre ktorý boli definované povolenia
- Aké akcie je možné vykonať s povolením
- Kto môže vykonávať aké akcie
V systéme súborov Linux existujú dva základné prvky:
- Adresáre
- Súbory
Existujú tri činnosti, ktoré je možné vykonať:
- Čítať
- Napíš
- Vykonať. Okrem spúšťania skriptov sú na vytvorenie súborov a ďalších priečinkov v ňom potrebné rovnaké kroky
Používatelia, ktorí môžu vykonávať tieto akcie, sú:
- Majiteľ súboru
- Skupina vlastníka súboru
- Používateľ, ktorý nie je priradený k skupine vlastníkov alebo k vlastníkovi samotnému
Ak chcete zobraziť povolenia súvisiace so súborom, spustite nasledujúci príkaz:
ls -lS týmto príkazom sa dostaneme späť:
Nájdite povolenie pre súbory
Vo výstupe predstavuje prvých 10 znakov povolenie pre súbor:
- Prvý znak, ktorý je v tomto prípade znakom „-“, znamená, že ide o súbor. Pre adresár by to bolo „d“.
- Nasledujúcich deväť znakov predstavuje povolenia pre vlastníka, skupinu vlastníka a ďalšie, v uvedenom poradí.
Zmena povolení
Syntax pre úpravu povolenia súboru vyzerá takto:
súbor povolení chmod [súbor 2]…Osmičkové zastúpenie pre povolenia
Povolenia môžeme uvádzať ako osmičkové číslo. Napríklad pre nastavenie oprávnení na čítanie, zápis a vykonávanie pre vlastníka, povolení na čítanie a zápis pre jeho skupinu a bez povolení pre ostatných, ahoj.súboru txt, vykonáme nasledujúci príkaz:
sudo chmod 760 ahoj.TXTAkonáhle vykonáme vyššie uvedený príkaz a pokúsime sa prečítať súbor s účtom, ktorý nie je vlastníkom, pomocou nasledujúceho príkazu:
sudo -u notowner-user viac ahoj.TXTDostaneme nasledujúcu chybu:
Ahoj.txt: Povolenie zamietnutéOdkiaľ však pochádza toto číslo? Každá číslica tohto čísla predstavuje množinu povolení. Pozrime sa, ako boli odvodené:
- 0: Neznamená žiadne povolenie
- 1: Znamená vykonať povolenie
- 2: Znamená napíš povolenie
- 4: Znamená čítať povolenie
Na priradenie oprávnení na čítanie, zápis a vykonávanie vlastníka sme mu pridelili číslo 7 (= 4 + 2 + 1). Poďme to lepšie pochopiť v tabuľke číslic:
Číslo | Binárne | Čítať | Napíš | Vykonať |
0 | 000 | Č | Č | Č |
1 | 001 | Č | Č | ÁNO |
2 | 010 | Č | ÁNO | Č |
3 | 011 | Č | ÁNO | ÁNO |
4 | 100 | ÁNO | Č | Č |
5 | 101 | ÁNO | Č | ÁNO |
6 | 110 | ÁNO | ÁNO | Č |
7 | 111 | ÁNO | ÁNO | ÁNO |
Vyššie uvedená tabuľka jasne ukazuje, čo predstavuje čo sa týka povolení súborov.
Reprezentácia znakov pre povolenia
Povolenia môžeme uvádzať ako osmičkové číslo. Napríklad pre nastavenie oprávnení na čítanie, zápis a vykonávanie pre vlastníka, povolení na čítanie a zápis pre jeho skupinu a bez povolení pre ostatných, ahoj.súboru txt, vykonáme nasledujúci príkaz:
sudo chmod u = rwe, g = rw, o-rwx ahoj.TXTAk chcete pridať povolenia existujúcemu používateľovi, môžeme tiež urobiť:
sudo chmod g + w ahoj.TXTTu bolo povolenie na zápis pridelené skupine používateľov vlastníka súboru.
Rekurzívne zmeny povolení
Jediným príkazom môžeme tiež zmeniť oprávnenie pre súbor obsiahnutý v konkrétnom adresári. Ak chcete upraviť povolenia všetkých súborov a priečinkov v poskytnutom adresári naraz, použite sudo chmod s -R:
sudo chmod 777 adresár / *Vidíme nasledujúci výstup, ktorý zreteľne odráža zmenu povolení súboru:
Rekurzívna zmena povolení súboru
Záver
V tejto lekcii sme sa pozreli na to, ako môžeme upraviť oprávnenia súboru a v prípade potreby to urobiť rekurzívne. Pochopili sme základné pojmy, ako sú oprávnenia systému Linux, ktoré nám môžu v každodennej práci veľmi pomôcť.