Předpokládejme, že mám dva uživatele Alice a Boba a skupinu GROUPNAME a složku foo , oba uživatelé jsou členy GROUPNAME (používá Linux a ext3).
Pokud jako uživatel Alice uložím soubor pod foo , oprávnění jsou:-rw-r--r-- Alice Alice . Je však možné dosáhnout toho, aby byl každý soubor uložen v nějakém podadresáři foo má oprávnění -rwxrwx--- Alice GROUPNAME (tj. vlastník Alice, skupina GROUPNAME)?
Přijatá odpověď:
Přiřazené bity oprávnění můžete ovládat pomocí umask a skupinu vytvořením adresáře setgid do GROUPNAME .
$ umask 002 # allow group write; everyone must do this
$ chgrp GROUPNAME . # set directory group to GROUPNAME
$ chmod g+s . # files created in directory will be in group GROUPNAME
Všimněte si, že musíte provést chgrp /chmod pro každý podadresář; nešíří se automaticky (tj. ani existující, ani následně vytvořené adresáře pod setgid adresář bude setgid , ačkoli druhý bude ve skupině GROUPNAME ).
Všimněte si také, že umask je atribut procesu a vztahuje se na všechny soubory vytvořené tímto procesem a jeho potomky (které zdědí umask ve skutečnosti v jejich rodiči na fork() čas). Uživatelé to možná budou muset nastavit v ~/.profile a možná budete muset dávat pozor na věci nesouvisející s vaším adresářem, které vyžadují jiná oprávnění. moduly mohou být užitečné, pokud potřebujete různá nastavení při provádění různých věcí.
Můžete věci ovládat o něco lépe, když můžete používat POSIX ACL; mělo by být možné zadat jak masku oprávnění, tak skupinu a nechat je rozumně šířit. Podpora pro POSIX ACL je však poněkud variabilní.