我试图build立一个多用户可以在单个网站项目上工作的环境。 另外,每个人都应该能够为apache授予额外的写入权限。
这个想法是,每个人都使用一个单独的login(让我们假设它是joe , jane并mark在组users )。 Apache以apache:www运行apache:www 。 每个人都必须拥有对所有文件的写入权限,apache拥有只读访问权限。 现在,用户select的文件必须可以由apache写入(重要的是,apache不能对所有文件拥有写入权限 – 安全性问题)。
我已经尝试了两个设置,一个使用ACL-s,一个使用umask,通用组等。两者都有相同的缺陷 – 用户不能更改apache的写入权限。
我尝试了两种方法:
setfacl -m default:group:users:rwx project/
通过这种方式,我可以轻松pipe理所有用户的写入权限。 没有额外的设置,只是工作。 无论文件拥有者是什么,团队的每个用户都可以修改文件。 不幸的是,只有文件所有者才能为apache添加写入权限
在.bashrc umask 0002 ,同一组中的所有用户
基于简单的权限,每个用户都可以读取和写入所有文件。 chgrp www ...是需要有Apache写入权限。 再次 – 只有文件所有者可以做到这一点。
所以我基本上正在寻找一种方法来授予多个用户在文件上执行g+w的权限。 我想到了其他的做法,例如:
setfacl -md:group:users:rwx ) setfacl -md:user:apache:rwx ) ./www目录中的任何内容都必须由apache写入,必须以./data和./data创build – 但这既不优雅也不方便 所以我正在寻找一个易于使用的解决scheme。 初始设置可能很复杂,但是每天使用不应该。 有什么build议么?
没有任何东西允许非拥有的非root用户更改文件权限。 我会用sudo'd脚本 – 但我不明白这有什么难的。 使用readlink -f来规范化文件名来改变,这样你就可以检查它的前缀是否正确,不要让用户真正指定权限,只要让它成为“grant write access to Apache”脚本即可。