GNU/Linux >> Znalost Linux >  >> Linux

UNIX/Linux:Základy seznamů řízení přístupu (ACL).

Proč potřebujeme seznamy ACL?

Každý soubor na libovolném souborovém systému UNIX bude mít vlastníka/skupinu a sadu oprávnění. Představte si případ, kdy více uživatelů potřebuje přístup ke stejnému souboru a uživatelé jsou z různých skupin. Seznamy řízení přístupu k souborům (FACL) nebo jednoduše ACL jsou seznamem dalších uživatelů/skupin a jejich oprávnění k souboru.

Jak zjistit, kdy je k souboru připojen ACL

Je velmi snadné zjistit, kdy je k souboru připojen ACL. ls -l příkaz vytvoří výstup, jak je ukázáno níže.

# ls -l
-rw-r--r-+ 1   root   root  0  Sep  19  14:41  file

Všimněte si + podepsat na konci oprávnění. Tím potvrdíte, že k souboru je připojen ACL.

Zobrazení seznamů ACL

Chcete-li zobrazit podrobné informace ACL o souboru, použijte getfacl příkaz.

# getfacl /tmp/test
# file: test
# owner: root
# group: root
user::rw-
user:john:rw-
user:sam:rwx
group::r--
mask::rwx
other:---

Všimněte si 3 různých uživatelů: linky. Na prvním řádku jsou uvedena standardní oprávnění vlastníka souboru. Další 2 uživatelská oprávnění jsou individuální oprávnění pro uživatele john a sam. Pole masky zde platí pouze pro další oprávnění, která jsme uživateli a skupinám udělili. Pokud je maska ​​nastavena na rwx, budou oprávnění ke čtení, zápisu a spouštění udělena dalším uživatelům/skupinám. Pokud je maska ​​nastavena na r-x, oprávnění k zápisu nebude uděleno dalším uživatelům/skupinám. Obecně platí, že NE nastavte masku na cokoli jiného než rwx. Hodnota masky nemá vliv na standardní oprávnění uživatele/skupiny/ostatní v systému UNIX.

Soubor bez ACL
Pokud spustíte příkaz getfacl na souboru bez ACL, další řádky „user:“ a „mask“ se nezobrazí a zobrazí se standardní oprávnění k souboru.

# getfacl test
# file: test
# owner: root
# group: root
user::rw-
group::r--
other::r--

Vytváření a správa FACL

setfacl příkaz slouží k nastavení ACL na daný soubor. Chcete-li poskytnout rw přístup uživateli john k souboru /tmp/test:

# setfacl -m u:john:rw /tmp/test

Volba -m říká setfacl, aby upravil ACL v souborech uvedených v příkazovém řádku. Místo uživatele john můžeme mít skupinu, která má konkrétní oprávnění k souboru:

# setfacl -m g:accounts:rw /tmp/test

FACL pro více uživatelů a skupin lze také nastavit jediným příkazem:

# setfacl -m u:john:rw,g:accounts:rwx /tmp/test

Výchozí seznamy FACL v adresářích

Výchozí seznamy ACL se vytvářejí pouze v adresářích. Když nastavíte výchozí ACL na adresáře, všechny soubory vytvořené v tomto adresáři budou mít také automaticky přiřazeny výchozí FACL.

Chcete-li vytvořit výchozí FACL v adresáři:

# setfacl -m default:u:john:rw /accounts
# getfacl accounts/
# file: accounts/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:john:rw-
default:group::r-x
default:mask::rwx
default:other::r-x

Nyní vytvořte nový soubor v adresáři účtů a uveďte FACL v souboru:

# touch /accounts/test
# getfacl test
# file: test
# owner: root
# group: root
user::rw-
user:john:rw-
group::r-x			#effective:r--
mask::rw-
other::r--

Odebrání FACL

Chcete-li odstranit FACL, použijte příkaz setfacl s volbou -x :

# setfacl -x u:john /tmp/test

Výše uvedený příkaz odebere ACL pro uživatele john ze souboru /tmp/test. ACL pro ostatní uživatele/skupiny, pokud nějaké zůstanou nedotčeny.

K odstranění všech ACL přidružených k souboru použijte volbu -b s setfacl :

# setfacl -b /tmp/test

Zálohování FACL

Zálohovací software často nemusí zkopírovat metadata související s FACL na soubory. V takovém případě možná budete chtít zálohovat informace FACL na soubory. Nyní lze FACL na všech souborech v adresáři (včetně všech podadresářů) zkopírovat do jednoho souboru.

# cd /accounts
# getfacl -R * > accounts_facl        ( -R -> recursive )

Obnovení FACL

Když obnovíte soubory v adresáři /accounts, budete muset obnovit FACL spojené se soubory v tomto adresáři. K tomu použijte záložní soubor FACL accounts_facl spolu s –obnovit možnost :

# setfacl --restore=accounts_facl


Linux
  1. RHEL 7 – Poznámky RHCSA – Vytváření a správa seznamů řízení přístupu (ACL)

  2. Jak nakonfigurovat ACL (Access Control List) v systému souborů Linux

  3. Jak auditovat přístup k souborům v systému Linux

  1. Jak počítat řádky v souboru v UNIX/Linux

  2. Jak odstranit setgid (linux/unix)?

  3. souběžný přístup k souboru linux

  1. Seznamy řízení přístupu a externí disky v systému Linux:Co potřebujete vědět

  2. Linux – Rozumíte unixovým oprávněním a typům souborů?

  3. Linux – Jak lze zkontrolovat informace o struktuře adresářů souboru Unix/linux?