Kategorie: Samba, Server

ACL - Rozšířená oprávnění (jako pod Windows)

Někdy se může hodit aby váš systém nepoužíval pouze základní UNIXová oprávnění, ale používal něco podrobněji nastavitelného, podobně jako v záložce Zabezpečení ve Vlastnostech souboru pod Windows. Jak Linux, tak i Samba taková oprávnění mohou používat také.

Vtip je v tom, že to sice není úplně standardní UNIXová vlastnost, přesto je v Linuxu docela dobře podporované. Stačí nainstalovat balík acl a souborový systém (Ext3 nebo případně ReiserFS) připojit s parametrem acl. Je vhodné mít data na samostatném oddílu a ACL nastavovat pouze u nich. Jednak pro případ že by se svazek nepodařilo připojit a jednak také proto že ACL nad systémovými soubory by byl spíše na obtíž.

Instalace ACL (Debian/Ubuntu)

apt-get install acl

Připojení souborového systému

Než zkusíme parametr acl přidat do /etc/fstab, zkusíme připojení nanečisto, které se po restartu ztratí. Následující parametr odpojí aktuálně připojený svazek /samba a znovu ho připojí již s parametrem acl. Pokud bude vše fungovat tak jak má, můžeme svazek připojit natvrdo.
mount –o remount,acl /samba
Nyní by mělo jít uvnitř /samba používat ACL oprávnění.

Test ACL

Vytvoříme adresář, nastavíme mu práva pomocí chmod, a vypíšeme jeho ACL oprávnění pomocí getfacl:
mkdir test
chmod 775 test
getfacl test
# file: test
# owner: root
# group: root
user::rwx
group::r-x
other::---

Pokud se vám takto nějak vypsala oprávnění, ACL funguje. Můžete tak parametr acl přidat do /etc/fstab. Řádek tohoto zařízení by pak mohl vypadat nějak takto:
/dev/sda2 /home ext3 rw,acl 0 2
Nyní by vše mělo fungovat i po restartu.

Používání ACL z linuxového terminálu

ACL funguje jako nadstavba nad běžnými UNIXovými právy. Můžete tak používat i běžně používaný chown nebo chmod. Pro výpis aktuálně používaných práv můžete použít výše uvedený příkaz getfacl:
getfacl soubor
Pro změnu stávajících práv lze použít příkaz setfacl. Pokud tedy chcete uživateli franta přidělit právo zápisu do souboru:
setfacl -m u:franta:w soubor

Eiciel

Pro grafickou správu ACL oprávnění v GNOME můžete použít nástroj Eiciel ze stejnojmeného balíku:
apt-get install eiciel
Do vlastností souboru se vám přidá záložka Access control list, ve které budete moci nastavovat oprávnění pro jednotlivé uživatele. Původní UNIXová oprávnění ale zůstanou - pouze vlastník, skupina a ostatní budou moci být rozšířeni o další konkrétní uživatele a skupiny. Eiciel se také přidá do Aplikací jako samostatná aplikace, ikdyž mě přijde praktičtější jeho používání jako rozšíření Vlastností souborů a složek.

Samba

Samba by neměla mít s ACL žádný problém už kvůli podobnosti oprávněními pod Windows. Mělo by stačit do smb.conf přidat, do sekce věnované příslušnému sdílenému adresáři:
nt acl support = yes
K tomuto ale rozhodně přistupte až když budou normální UNIXová oprávnění (a hlavně vlastnictví souborů) fungovat.

Komentáře


, Pekné odpovědět

Vďaka ;-)