 
 V Linuxu řídí oprávnění k souborům, atributy a vlastnictví úroveň přístupu, kterou mají systémové procesy a uživatelé k souborům. To zajišťuje, že ke konkrétním souborům a adresářům mají přístup pouze oprávnění uživatelé a procesy.
Oprávnění souborů Linux #
Základní model oprávnění systému Linux funguje tak, že každý systémový soubor přiřadí vlastníkovi a skupině a přiřadí přístupová práva třem různým třídám uživatelů:
- Vlastník souboru.
- Členové skupiny.
- Ostatní (všichni ostatní).
 Vlastnictví souboru lze změnit pomocí chown a chgrp příkazy.
Pro každou třídu uživatelů platí tři typy oprávnění k souborům:
- Oprávnění ke čtení.
- Povolení k zápisu.
- Povolení ke spuštění.
Tento koncept vám umožňuje řídit, kteří uživatelé mohou číst soubor, zapisovat do souboru nebo soubor spustit.
 Chcete-li zobrazit oprávnění k souboru, použijte ls příkaz:
ls -l file_name-rw-r--r-- 12 linuxize users 12.0K Apr  28 10:10 file_name
|[-][-][-]-   [------] [---]
| |  |  | |      |       |
| |  |  | |      |       +-----------> 7. Group
| |  |  | |      +-------------------> 6. Owner
| |  |  | +--------------------------> 5. Alternate Access Method
| |  |  +----------------------------> 4. Others Permissions
| |  +-------------------------------> 3. Group Permissions
| +----------------------------------> 2. Owner Permissions
+------------------------------------> 1. File Type
 První znak označuje typ souboru. Může to být běžný soubor (- ), adresář (d ), symbolický odkaz (l ), nebo jiné speciální typy souborů. Následujících devět znaků představuje oprávnění k souboru, tři trojice po třech znacích. První trojice zobrazuje oprávnění vlastníka, druhá oprávnění skupiny a poslední trojice zobrazuje oprávnění všech ostatních.
 Ve výše uvedeném příkladu (rw-r--r-- ) znamená, že vlastník souboru má oprávnění ke čtení a zápisu (rw- ), skupina a další mají oprávnění pouze ke čtení (r-- ).
Oprávnění k souboru mají různý význam v závislosti na typu souboru.
Každý ze tří trojic oprávnění může být sestaven z následujících znaků a má různé účinky v závislosti na tom, zda jsou nastaveny na soubor nebo adresář:
Vliv oprávnění na soubory
| Povolení | Postava | Význam v souboru | 
|---|---|---|
| Přečíst | - | Soubor není čitelný. Nemůžete zobrazit obsah souboru. | 
| r | Soubor je čitelný. | |
| Napište | - | Soubor nelze změnit ani upravit. | 
| w | Soubor lze změnit nebo upravit. | |
| Provést | - | Soubor nelze spustit. | 
| x | Soubor lze spustit. | |
| s | Pokud je nalezen v usertriplet, nastavísetuidbit. Pokud se nachází vegrouptriplet, nastavísetgidbit. Znamená to také, žexje nastaven příznak.Když je setuidnebosetgidpříznaky jsou nastaveny u spustitelného souboru, soubor se spustí s právy vlastníka souboru a/nebo skupiny. | |
| S | Stejné jako s, alexpříznak není nastaven. Tento příznak se u souborů používá zřídka. | |
| t | Pokud se nachází v otherstriplet, nastavístickybit.To také znamená, že xvlajka je nastavena. Tento příznak je u souborů k ničemu. | |
| T | Stejné jako talexpříznak není nastaven. Tento příznak je u souborů k ničemu. | 
Vliv oprávnění na adresáře (složky)
Adresáře jsou speciální typy souborů, které mohou obsahovat další soubory a adresáře.
| Povolení | Postava | Význam v adresáři | 
|---|---|---|
| Přečíst | - | Obsah adresáře nelze zobrazit. | 
| r | Je možné zobrazit obsah adresáře. (např. Soubory v adresáři můžete vypsat pomocí ls.) | |
| Napište | - | Obsah adresáře nelze změnit. | 
| w | Obsah adresáře lze změnit. (např. můžete vytvářet nové soubory, mazat soubory atd.) | |
| Provést | - | Adresář nelze změnit na. | 
| x | V adresáři lze procházet pomocí cd. | |
| s | Pokud je nalezen v usertriplet, nastavísetuidbit. Pokud se nachází vegrouptriplet nastavujesetgidbit. Znamená to také, žexvlajka je nastavena. Kdyžsetgidpříznak nastaven na adresář, nové soubory vytvořené v něm zdědí ID skupiny adresářů (GID) namísto ID primární skupiny uživatele, který soubor vytvořil.setuidnemá žádný vliv na adresáře. | |
| S | Stejné jako s, alexpříznak není nastaven. Tento příznak je v adresářích k ničemu. | |
| t | Pokud se nachází v otherstriplet, nastavístickybit.To také znamená, že xvlajka je nastavena. Když je v adresáři nastaven fixní bit, může soubory v adresáři odstranit nebo přejmenovat pouze vlastník souboru, vlastník adresáře nebo administrátor. | |
| T | Stejné jako t, alexpříznak není nastaven. Tento příznak je v adresářích k ničemu. | 
Změna oprávnění k souboru #
 Oprávnění k souboru lze změnit pomocí chmod příkaz. Oprávnění souboru může změnit pouze uživatel root, vlastník souboru nebo uživatel s právy sudo. Při používání chmod buďte zvlášť opatrní , zejména při rekurzivní změně oprávnění. Příkaz může přijmout jeden nebo více souborů a/nebo adresářů oddělených mezerou jako argumenty.
Oprávnění lze zadat pomocí symbolického režimu, číselného režimu nebo referenčního souboru.
Symbolická (textová) metoda #
 Syntaxe chmod příkaz při použití symbolického režimu má následující formát:
chmod [OPTIONS] [ugoa…][-+=]perms…[,…] FILE...
 První sada příznaků ([ugoa…] ), uživatelské příznaky, definuje třídy uživatelů, pro které se mění oprávnění k souboru.
- u- Vlastník souboru.
- g– Uživatelé, kteří jsou členy skupiny.
- o– Všichni ostatní uživatelé.
- a- Všichni uživatelé, identičtí jako- ugo.
 Když je příznak uživatele vynechán, výchozí je a .
 Druhá sada příznaků ([-+=] ), příznaky operace, definují, zda mají být oprávnění odebrána, přidána nebo nastavena:
- -– Odebere zadaná oprávnění.
- +- Přidá specifikovaná oprávnění.
- =- Změní aktuální oprávnění na zadaná oprávnění. Pokud za- =nejsou udělena žádná oprávnění symbol, všechna oprávnění ze zadané třídy uživatele jsou odebrána.
 Oprávnění (perms... ) jsou explicitně nastaveny pomocí nula nebo jednoho či více z následujících písmen:r , w , x , X , s a t . Použijte jedno písmeno z množiny u , g a o při kopírování oprávnění z jedné třídy uživatelů do jiné.
 Při nastavování oprávnění pro více než jednu třídu uživatelů ([,…] ), použijte k oddělení symbolických režimů čárky (bez mezer).
 Zde je několik příkladů použití chmod příkaz v symbolickém režimu:
-  Dejte členům skupiny oprávnění ke spuštění souboru, ale ne ke čtení a zápisu do něj: chmod g=x filename
-  Odeberte všem uživatelům oprávnění k zápisu: chmod a-w filename
-  Rekurzivně odeberte oprávnění ke spuštění pro ostatní uživatele: chmod -R o-x dirname
-  Odeberte oprávnění ke čtení, zápisu a spouštění všem uživatelům kromě vlastníka souboru: chmod og-rwx filenameTotéž lze také provést pomocí následujícího formuláře: chmod og= filename
-  Udělte oprávnění ke čtení, zápisu a spouštění vlastníkovi souboru, oprávnění ke čtení skupině souboru a žádná oprávnění všem ostatním uživatelům: chmod u=rwx,g=r,o= filename
Numerická metoda #
 Syntaxe chmod příkaz při použití symbolického režimu má následující formát:
chmod [OPTIONS] NUMBER FILE...
Při použití numerického režimu můžete nastavit oprávnění pro všechny tři třídy uživatelů (vlastník, skupina a všechny ostatní) současně.
Číslo oprávnění může být 3 nebo 4místné číslo. Když je použito 3místné číslo, první číslice představuje oprávnění vlastníka souboru, druhá představuje skupinu souboru a poslední číslice všech ostatních uživatelů.
Každé oprávnění k zápisu, čtení a spouštění má následující číselnou hodnotu:
- r(přečteno) =4
- w(zapsat) =2
- x(provést) =1
- žádná oprávnění =0
Číslo oprávnění konkrétní třídy uživatelů je reprezentováno součtem hodnot oprávnění pro danou skupinu.
Chcete-li zjistit oprávnění souboru v numerickém režimu, jednoduše spočítejte součty pro třídy všech uživatelů. Chcete-li například udělit oprávnění ke čtení, zápisu a spouštění vlastníkovi souboru, oprávnění ke čtení a spouštění skupině souboru a oprávnění pouze ke čtení všem ostatním uživatelům, postupujte takto:
- Vlastník:rwx=4+2+1=7
- Skupina:r-x=4+0+1=5
- Ostatní:r-x=4+0+0=4
 Pomocí výše uvedené metody dojdeme k číslu 754 , což představuje požadovaná oprávnění.
 Chcete-li nastavit setuid , setgid a sticky bit příznaky, použijte čtyřmístné číslo.
Při použití 4místného čísla má první číslice následující význam:
- setuid=4
- setgid=2
- sticky=1
- žádné změny =0
Další tři číslice mají stejný význam jako při použití třímístného čísla.
 Pokud je první číslice 0, lze ji vynechat a režim lze reprezentovat 3 číslicemi. Číselný režim 0755 je stejný jako 755 .
Pro výpočet numerického režimu můžete použít i jinou metodu (binární metodu), ale ta je trochu složitější. Pro většinu uživatelů stačí vědět, jak vypočítat číselný režim pomocí 4, 2 a 1.
 Oprávnění souboru můžete zkontrolovat v číselném zápisu pomocí stat příkaz:
stat -c "%a" file_name
 Zde je několik příkladů použití chmod příkaz v numerickém režimu:
-  Udělte vlastníkovi souboru oprávnění ke čtení a zápisu a oprávnění ke čtení pouze členům skupiny a všem ostatním uživatelům: chmod 644 dirname
-  Udělte vlastníkovi souboru oprávnění ke čtení, zápisu a spouštění, ke čtení a spouštění členům skupiny a žádná oprávnění ke všem ostatním uživatelům: chmod 750 dirname
-  Přidělte danému adresáři oprávnění ke čtení, zápisu a spouštění a lepivý bit: chmod 1777 dirname
-  Rekurzivně nastavená oprávnění ke čtení, zápisu a spouštění pro vlastníka souboru a žádná oprávnění pro všechny ostatní uživatele v daném adresáři: chmod -R 700 dirname
Závěr č.
 V Linuxu je přístup k souborům omezen pomocí oprávnění k souboru, atributů a vlastnictví. Chcete-li změnit oprávnění souboru, použijte chmod příkaz.