我在 Mac OS X lion 上,使用 apache 进行 php 和 rails 开发。我应该设置哪些组或权限,以便 apache 通过 _www 用户/组对我的网站目录(位于 ~/Projects)具有完全的读/写访问权限,同时还保留我自己的读/写访问权限以更改文件?
答案1
将组设置为 _www,将用户设置为您的用户名,将权限设置为 770,即
sudo chown username:_www ~/Projects -R
sudo chmod 770 ~/Projects -R
答案2
除了@lsmooth 所写的内容之外,如果您希望目录中新创建的文件保留该目录的组所有权,则您必须在文件权限中设置组粘性位,从而将权限位和组的所有权传递给新创建的文件。
sudo chmod g+s path/to/directory
MacOSX 工具链与 GNU 工具链不同,但使用 GNU find,您可以通过以下方式将其应用于所有目录:
find ~/Projects -type d -print0 | sudo xargs -0 chmod g+s
通常 POSIX 语义会实现这种行为,但不确定 MacOSX 是否也这样做。