我希望我的用户'tobias'和'www-data'能够读写特定的目录。
为此,我已经把它变成tobias:www-data,把tobias添加到www-data组,并将setguid添加到目录中。 使用www-data组拥有它们,正确地创build了文件和子目录。
根据我的理解,下一步是使用ACL为这个特定的目录设置一个特定的umask。 我想它是002,所以内容给rw-rw-r权限。 所以我在/ etc / fstab里join了'acl',然后重新安装了磁盘。 到现在为止还挺好。
这里是我的目录的ACLconfiguration:
$ getfacl app/cache/ # file: app/cache/ # owner: tobias # group: www-data # flags: -s- user::rwx user:www-data:rwx user:tobias:rwx group::rwx mask::rwx other::rx default:user::rwx default:user:www-data:rwx default:user:tobias:rwx default:group::rwx default:mask::rwx default:other::rx
但是,即使我的ACL设置,它仍然创build新的文件和子目录与rw – r – r – 权限。 所以要么我做错了什么,要么我误解了这个概念。 任何人都可以请帮我弄清楚,我应该做些什么,使其工作?
它似乎在这里工作:
ubuntu-amd64% id | tr ',' '\n' | grep www-data 33(www-data) ubuntu-amd64% mount | grep ' / ' /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl) ubuntu-amd64% sudo sh ubuntu-amd64# cd /var/www ubuntu-amd64# mkdir -p app/cache ubuntu-amd64# chown fission:www-data app/cache ubuntu-amd64# chmod 2775 app/cache ubuntu-amd64# ls -ld app/cache drwxrwsr-x 2 fission www-data 4096 2011-07-23 11:21 app/cache ubuntu-amd64# setfacl -dm u::rwx,g::rwx,o::rx app/cache ubuntu-amd64# getfacl app/cache # file: app/cache # owner: fission # group: www-data # flags: -s- user::rwx group::rwx other::rx default:user::rwx default:group::rwx default:other::rx ubuntu-amd64# exit ubuntu-amd64% umask 022 ubuntu-amd64% touch /var/www/app/cache/test ubuntu-amd64% ls -l /var/www/app/cache/test -rw-rw-r-- 1 fission www-data 0 2011-07-23 11:23 /var/www/app/cache/test
说实话,我不太了解Linux ACL,但是在我看来, mask选项并不是你所需要的 – 它应该足够default:{user,group,other}选项被设置为以上。