Košík je prázdný

Rozšířené seznamy řízení přístupu (Access Control Lists, ACL) jsou nástrojem, který umožňuje flexibilnější správu oprávnění souborů a adresářů v operačních systémech Linux. Na rozdíl od tradičních metod, kde každý soubor či adresář může mít nastavena oprávnění pouze pro vlastníka, skupinu a ostatní, rozšířené ACL umožňují definovat detailnější a specifičtější pravidla přístupu pro různé uživatele a skupiny.

Nástroje pro práci s rozšířenými ACL

Klíčovými nástroji pro práci s rozšířenými ACL v Linuxu jsou setfacl a getfacl. Tyto nástroje umožňují uživatelům nastavovat a získávat informace o rozšířených ACL na souborech a adresářích.

Setfacl: Nastavení rozšířených ACL

Nástroj setfacl slouží k přidávání, modifikaci nebo odstraňování ACL na souborech a adresářích. Umožňuje definovat oprávnění pro specifické uživatele a skupiny nad rámec základních oprávnění. Syntaxe příkazu je následující:

setfacl -m u:uzivatel:prava soubor

Kde -m značí modifikaci, u označuje uživatele (pro skupiny se používá g), uzivatel je jméno uživatele, prava jsou oprávnění (např. rwx) a soubor je cesta k souboru nebo adresáři.

Příklad použití:

setfacl -m u:jirka:rw dokument.txt

Tento příkaz nastaví, že uživatel jirka bude mít práva pro čtení a zápis na soubor dokument.txt.

Getfacl: Získání informací o rozšířených ACL

Na druhou stranu, getfacl je nástroj určený k zobrazení seznamu ACL nastavených na souborech a adresářích. Pomocí tohoto příkazu lze snadno zjistit, jaká specifická oprávnění byla souboru nebo adresáři přidělena. Syntaxe příkazu je:

getfacl soubor

Příklad použití:

getfacl dokument.txt

Tento příkaz zobrazí seznam všech ACL aplikovaných na dokument.txt, včetně oprávnění pro specifické uživatele a skupiny.

Praktické příklady a tipy

Pro efektivní správu rozšířených ACL je důležité rozumět možnostem, které setfacl a getfacl nabízejí. Zde jsou některé tipy a příklady pro běžné úkoly:

  • Přidání oprávnění pro více uživatelů: Lze použít více -m možností v jednom příkazu setfacl pro nastavení oprávnění pro více uživatelů najednou.
  • Odstranění specifického ACL: Použitím -x možnosti s setfacl můžete od tranit specifická oprávnění pro uživatele nebo skupiny. Například, odstranění práv pro uživatele jirka z dokument.txt lze provést příkazem:
    setfacl -x u:jirka dokument.txt
    ​
  • Nastavení výchozích ACL pro adresáře: S použitím -d možnosti můžete definovat výchozí ACL pro všechny nově vytvořené soubory a podadresáře v daném adresáři. To je užitečné pro udržení konzistentního nastavení oprávnění v rámci adresářové struktury.
    setfacl -d -m u:jirka:rw adresar
    ​

    Tento příkaz zajistí, že všechny nové soubory vytvořené v adresar budou automaticky přiděleny práva pro čtení a zápis uživateli jirka.

  • Kopírování ACL mezi soubory: Příkaz getfacl lze kombinovat s setfacl pro kopírování ACL z jednoho souboru na druhý. Nejprve získáte ACL z prvního souboru pomocí getfacl a poté jej nastavíte na druhý soubor pomocí setfacl:
    getfacl zdrojovy_soubor | setfacl --set-file=- cilovy_soubor
    ​
  • Použití masky pro omezení oprávnění: Maska v ACL omezuje efektivní oprávnění pro všechny uživatele a skupiny. Je důležité pochopit vliv masky na nastavená oprávnění, protože může dojít k nechtěnému omezení přístupu. Nastavení masky lze provést pomocí:
    setfacl -m m:rwx soubor
    ​

Tento příkaz nastaví masku na rwx (čtení, zápis, spuštění), což umožní maximální oprávnění definovaná ostatními ACL.

 

Správa rozšířených ACL v Linuxu nabízí významnou flexibilitu při definování přístupových práv k souborům a adresářům. Nástroje setfacl a getfacl jsou mocnými pomocníky pro přizpůsobení oprávnění podle potřeb uživatelů a skupin. Ačkoliv se může zdát jejich použití na první pohled složité, praxe a pochopení základních principů umožňují efektivní využití rozšířených ACL pro zabezpečení a správu systémů. Je důležité si uvědomit, že nesprávné nastavení může vést k nechtěným bezpečnostním rizikům, proto je vhodné se před změnami seznámit s doporučenými postupy a pečlivě testovat konfigurace v bezpečném prostředí.