在Debian 7.0上,我已经在我的mount上安装了文件系统访问控制列表
mx:/srv/www$ mount | grep acl /dev/xvda on / type ext3 (rw,relatime,errors=remount-ro,acl,data=ordered)
现在我只是想新创build的文件和目录具有www-data组。
sudo setfacl -Rm d:g:www-data:rX,g:www-data:rX /srv/www/
现在它有以下设置:
mx:/srv/www$ getfacl . # file: . # owner: hendry # group: root user::rwx group::rx group:www-data:rx mask::rx other::rx default:user::rwx default:group::rx default:group:www-data:rx default:mask::rx default:other::rx
为了testing,我做了一个:
mx:/srv/www$ touch test mx:/srv/www$ ll test -rw-r--r--+ 1 hendry hendry 0 Mar 19 07:25 test
我期待在新创build的文件test看到hendry:www-data。 我错过了什么?
尝试运行:
$ getfacl test
您应该看到如下所示的内容:
# file: test # owner: hendry # group: hendry user::rwx #effective: rw- group::rx #effective: r-- group:www-data:rx #effective: r-- mask::rx other::r--
我可能在这里得到了一些错误,但主要的是那个group:www-data:rx应该存在。 这就是default:group:$gid:rwx语法的作用 – 它确保创build对象上存在一个group:$gid:rwx ACL条目。
如果您希望创build的文件/目录/ fifos / etc属于该组,则必须创buildwww-data组拥有的目录,并设置setgid标志:
$ chown :www-data /srv/www $ chmod g+s /srv/www