Linux

Pochopení oprávnění k souborům Linux

Pochopení oprávnění k souborům Linux

V systému Linux oprávnění k souborům, atributy a vlastnictví řídí úroveň přístupu, kterou systém zpracovává a uživatelé mají k souborům. Tím je zajištěno, že ke konkrétním souborům a adresářům mají přístup pouze oprávnění uživatelé a procesy.

Linux File Permissions #

Základní model oprávnění pro Linux funguje tak, že každý systémový soubor přidruží vlastníka a skupinu a přidělí přístupová práva pro oprávnění třem různým třídám uživatelů:

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:

Tento koncept umožňuje určit, kteří uživatelé mohou soubor číst, zapisovat do něj nebo jej spouštět.

Chcete-li zobrazit oprávnění souboru, použijte je příkaz:

ls -l název_souboru
-rw-r - r-- 12 uživatelé Linuxu 12.0K 28. dubna 10:10 název_souboru | [-] [-] [-] - [------] [---] | | | | | | | | | | | | | + -----------> 7. Skupina | | | | | + -------------------> 6. Vlastník | | | | + --------------------------> 5. Alternativní metoda přístupu | | | + ----------------------------> 4. Ostatní oprávnění | | + -------------------------------> 3. Skupinová oprávnění | + ----------------------------------> 2. Oprávnění vlastníka + ------------------------------------> 1. Typ souboru 

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í devět znaků představuje oprávnění souboru, každé tři triplety po třech znacích. První triplet ukazuje oprávnění vlastníka, druhý oprávnění skupiny a poslední triplet ukazuje 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í pouze oprávnění ke čtení (r--).

Oprávnění k souborům mají jiný význam v závislosti na typu souboru.

Každá ze tří trojic oprávnění může být vytvořena z následujících znaků a má různé efekty v závislosti na tom, zda jsou nastaveny do souboru nebo do adresáře:

Vliv oprávnění na soubory

PovoleníCharakterVýznam v souboru
Číst-Soubor není čitelný. Nelze zobrazit obsah souboru.
rSoubor je čitelný.
Napsat-Soubor nelze změnit ani upravit.
wSoubor lze změnit nebo upravit.
Vykonat-Soubor nelze spustit.
XSoubor lze spustit.
sPokud je nalezen v uživatel triplet, nastaví setuid bit. Pokud je nalezen v skupina triplet, nastaví setgid bit. To také znamená X vlajka je nastavena.
Když setuid nebo setgid příznaky jsou nastaveny na spustitelném souboru, soubor je spuštěn s oprávněními vlastníka souboru nebo skupiny.
SStejný jako s, ale X příznak není nastaven. Tento příznak se u souborů používá jen zřídka.
tPokud je nalezen v ostatní triplet, nastaví lepkavý bit.
To také znamená X vlajka je nastavena. Tento příznak je u souborů nepoužitelný.
TStejný jako, t ale X příznak není nastaven. Tento příznak je u souborů nepoužitelný.

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íCharakterVýznam v adresáři
Číst-Nelze zobrazit obsah adresáře.
rLze zobrazit obsah adresáře.
(E.G., Soubory v adresáři můžete zobrazit pomocí je.)
Napsat-Obsah adresáře nelze změnit.
wObsah adresáře lze změnit.
(E.G., Můžete vytvářet nové soubory, mazat soubory… atd.)
Vykonat-Adresář nelze změnit na.
XV adresáři lze procházet pomocí CD.
sPokud je nalezen v uživatel triplet, nastaví setuid bit. Pokud je nalezen v skupina triplet nastavuje setgid bit. To také znamená X vlajka je nastavena. Když setgid příznak je nastaven na adresář, nové soubory v něm vytvořené zdědí ID skupiny adresářů (GID) namísto ID primární skupiny uživatele, který soubor vytvořil.
setuid nemá žádný vliv na adresáře.
SStejný jako s, ale X příznak není nastaven. Tento příznak je v adresářích k ničemu.
tPokud je nalezen v ostatní triplet, nastaví lepkavý bit.
To také znamená X vlajka je nastavena. Když je lepivý bit nastaven v adresáři, smí nebo přejmenovávat soubory v adresáři pouze vlastník souboru, vlastník adresáře nebo administrativní uživatel.
TStejný jako t, ale X příznak není nastaven. Tento příznak je v adresářích k ničemu.

Změna oprávnění souboru #

Oprávnění k souborům lze změnit pomocí chmod příkaz. Oprávnění k souboru může změnit pouze uživatel root, vlastník souboru nebo uživatel s oprávněními sudo. Při používání buďte velmi opatrní chmod, zvláště 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 určit pomocí symbolického režimu, číselného režimu nebo referenčního souboru.

Symbolická (textová) metoda #

Syntaxe souboru chmod příkaz při použití symbolického režimu má následující formát:

chmod [MOŽNOSTI] [ugoa…] [- + =] povolení ... [,…] SOUBOR… 

První sada příznaků ([ugoa…]), příznaky uživatelů, definuje třídy uživatelů, pro které se mění oprávnění k souboru.

Když je příznak uživatele vynechán, je výchozí A.

Druhá sada příznaků ([- + =]), příznaky operace, definuje, zda mají být oprávnění odebrána, přidána nebo nastavena:

Oprávnění (povolení .. ) jsou výslovně nastaveny pomocí nuly nebo jednoho nebo více z následujících písmen: r, w, X, X, s, a t. Použijte jediné písmeno ze sady u, G, a Ó při kopírování oprávnění z jedné do jiné třídy uživatelů.

Při nastavování oprávnění pro více než jednu třídu uživatelů ([,…]), oddělte symbolické režimy čárkami (bez mezer).

Zde je několik příkladů použití chmod příkaz v symbolickém režimu:

Numerická metoda #

Syntaxe souboru chmod příkaz při použití symbolického režimu má následující formát:

chmod [MOŽNOSTI] ČÍSLO SOUBORU… 

Při použití číselného režimu můžete nastavit oprávnění pro všechny tři uživatelské třídy (vlastník, skupina a všechny ostatní) současně.

Číslo oprávnění může být 3 nebo 4 číslice. Když se použije 3 číslice, představuje první číslice oprávnění vlastníka souboru, druhá skupinu souboru a poslední všechny ostatní uživatele.

Každé oprávnění k zápisu, čtení a spouštění má následující číselnou hodnotu:

Číslo oprávnění konkrétní třídy uživatelů je představováno součtem hodnot oprávnění pro tuto skupinu.

Chcete-li zjistit oprávnění souboru v numerickém režimu, jednoduše vypočítejte součty pro všechny třídy uživatelů. Chcete-li například udělit oprávnění ke čtení, zápisu a spuštění vlastníkovi souboru, oprávnění ke čtení a spuštění ke skupině souboru a oprávnění ke čtení pouze všem ostatním uživatelům, postupujte takto:

Pomocí výše uvedené metody přijdeme k číslu 754, což představuje požadovaná oprávnění.

Chcete-li nastavit setuid, setgid, a lepkavý kousek vlajky, použijte čtyřmístné číslo.

Při použití čtyřmístného čísla má první číslice následující význam:

Další tři číslice mají stejný význam jako při použití 3 číslic.

Pokud je první číslice 0, lze ji vynechat a režim lze znázornit 3 číslicemi. Numerický režim 0755 je stejné jako 755.

Pro výpočet numerického režimu můžete také použít jinou metodu (binární metodu), ale je to trochu komplikovanější. Znalost výpočtu numerického režimu pomocí 4, 2 a 1 je pro většinu uživatelů dostačující.

Můžete zkontrolovat oprávnění souboru v číselné notaci pomocí stat příkaz:

stat -c "% a" název_souboru 

Zde je několik příkladů použití chmod příkaz v numerickém režimu:

Závěr #

V systému Linux je přístup k souborům omezen pomocí oprávnění, atributů a vlastnictví souborů. Chcete-li změnit oprávnění souboru, použijte chmod příkaz.

Máte-li jakékoli dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.

Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...
Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...
Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...