V tomto rychlém tutoriálu uvidíme, jak můžeme použít chmod příkaz na stroji Ubuntu k vyhledání, úpravě a odebrání oprávnění uživatele ke konkrétním souborům, které existují v systému souborů uživatele. Pojďme si zahrát různé podmínky, abychom mohli zvládnout základní chmod příkazy, které nám mohou usnadnit každodenní život s Ubuntu.
Oprávnění pro Linux
Oprávnění pro Linux jsou skvělá sada pravidel, kterým lze snadno porozumět, pokud uchopíme základní práva. Tři hlavní body, které musíme pochopit, abychom věděli, jak fungují oprávnění systému Linux, jsou:
- Prvek, pro který byla definována oprávnění
- Jaké akce lze provést se svolením
- Kdo může provádět jaké akce
V souborovém systému Linux existují dva základní prvky:
- Adresáře
- Soubory
Lze provést tři akce:
- Číst
- Napsat
- Vykonat. Kromě spouštění skriptů je pro vytváření souborů a dalších složek v něm zapotřebí stejných akcí
Uživatel, který může provádět tyto akce, jsou:
- Vlastník souboru
- Skupina vlastníka souboru
- Uživatel, který není spojen se skupinou vlastníků ani s vlastníkem samotným
Chcete-li zobrazit oprávnění související se souborem, spusťte následující příkaz:
je -lS tímto příkazem se vrátíme:
Najít oprávnění pro soubory
Na výstupu prvních 10 znaků představuje oprávnění pro soubor:
- První znak, který je v tomto případě znakem „-“, znamená, že se jedná o soubor. Pro adresář by to bylo „d“.
- Dalších devět znaků představuje oprávnění pro vlastníka, skupinu vlastníka a ostatní.
Změna oprávnění
Syntaxe pro úpravu oprávnění souboru vypadá takto:
soubor oprávnění chmod [soubor 2]…Osmičkové vyjádření pro oprávnění
Oprávnění můžeme prezentovat jako osmičkové číslo. Například pro nastavení oprávnění pro čtení, zápis a provádění pro vlastníka, oprávnění pro čtení a zápis pro jeho skupinu a žádná oprávnění pro ostatní, ahoj.txt soubor, provedeme následující příkaz:
sudo chmod 760 ahoj.txtJakmile provedeme výše uvedený příkaz a pokusíme se přečíst soubor s účtem, který není vlastníkem, pomocí následujícího příkazu:
sudo -u notowner-user více ahoj.txtDostaneme následující chybu:
Ahoj.txt: Oprávnění odepřenoAle odkud pochází toto číslo? Každá číslice tohoto čísla představuje sadu oprávnění. Podívejme se, jak byly odvozeny:
- 0: Neznamená žádné povolení
- 1: Znamená vykonat povolení
- 2: Znamená napsat povolení
- 4: Znamená číst povolení
Pro přiřazení oprávnění pro čtení, zápis a provádění pro vlastníka jsme mu přidělili číslo 7 (= 4 + 2 + 1). Pojďme to lépe pochopit v tabulce číslic:
Číslo | Binární | Číst | Napsat | Vykonat |
0 | 000 | NE | NE | NE |
1 | 001 | NE | NE | ANO |
2 | 010 | NE | ANO | NE |
3 | 011 | NE | ANO | ANO |
4 | 100 | ANO | NE | NE |
5 | 101 | ANO | NE | ANO |
6 | 110 | ANO | ANO | NE |
7 | 111 | ANO | ANO | ANO |
Výše uvedená tabulka je mnohem jasnější v tom, co každá představuje, pokud jde o oprávnění souborů.
Reprezentace znaků pro oprávnění
Oprávnění můžeme prezentovat jako osmičkové číslo. Například pro nastavení oprávnění pro čtení, zápis a provádění pro vlastníka, oprávnění pro čtení a zápis pro jeho skupinu a žádná oprávnění pro ostatní, ahoj.txt soubor, provedeme následující příkaz:
sudo chmod u = rwe, g = rw, o-rwx ahoj.txtChcete-li přidat oprávnění existujícímu uživateli, můžeme také udělat:
sudo chmod g + w ahoj.txtZde bylo oprávnění k zápisu přidělováno skupině uživatelů vlastníka souboru.
Rekurzivní změny oprávnění
Můžeme také změnit oprávnění pro soubor obsažený v konkrétním adresáři pomocí jediného příkazu. Chcete-li změnit oprávnění každého souboru a složky v zadaném adresáři najednou, použijte sudo chmod s -R:
sudo chmod 777 adresář / *Vidíme následující výstup, který jasně odráží změnu oprávnění souboru:
Rekurzivní změna oprávnění souboru
Závěr
V této lekci jsme se podívali na to, jak můžeme upravit oprávnění souboru a v případě potřeby to udělat rekurzivně. Rozuměli jsme základním pojmům toho, jak nám Linuxová oprávnění, která nám mohou při každodenní práci hodně pomoci, pomohli.