Řešení 1:
Ano, seznamy ACL to umí.
-
Ujistěte se, že váš souborový systém je připojen pomocí
acl
. Chcete-li to zkontrolovat, zadejtemount
. Měli byste vidětacl
uvedena mezi dalšími oprávněními, např./dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
Pokud není připojen pomocí acl, otevřete
/etc/fstab
a přidejteacl
na seznam možností:# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext3 noatime,errors=remount-ro,acl 0 1
Nyní znovu připojte běžící souborový systém s novými možnostmi:
mount -v -o remount /
-
Nainstalujte nástroje acl. Na ubuntu/debianu je to:
sudo apt-get install acl
-
Vaši noví přátelé jsou
setfacl
agetfacl
. Použijtesetfacl
změnit výchozí acl pro adresář:setfacl -d -m o:r foo
-d
nastaví výchozí,-m
upravuje acl ao:r
uděluje „ostatním“ právo číst. Nastavení výchozího adresáře je zhruba ekvivalentní nastavení setgid adresáře, ale místo nově vytvořených souborů dědících skupinu zdědí acl. Setgid a acl mohou být společně výkonné, protože můžete skupině udělit výchozí oprávnění a získat nově vytvořené soubory tak, aby patřily do této skupiny, pro efektivní umask pro jednotlivé adresáře. -
Zkontrolujte svou práci:
ls -l
by nyní měl ukazovat navíc "+" označující přítomnost acl kromě standardních oprávnění k souboru.% ls -la foo/ drwxr--r--+
Podrobné informace o acl můžete získat pomocí
getfacl
.% getfacl foo # file: foo # owner: you # group: you user::rwx group::r-- other::r-- default:user::rwx default:group::--- default:other::r--
Řešení 2:
Můžete také vynutit umask pro adresář nastavením vlastnosti ACL masky takto:
setfacl -d -m mask:07 .