可能重复:
如何在 Linux 上设置共享目录?
我终其一生都无法弄清楚如何为我的 Apache 文件设计权限方案。我的要求似乎很简单:
- Apache 应该具有目录的标准权限 RX 和文件的标准权限 R
- Web 作者应该对目录具有 RWX 权限,对文件具有 RW 权限
- 不想授予“其他”任何访问权限
- 希望新文件/文件夹继承适当的权限
以下是我尝试过的方案
目录为 570,文件为 460 所有者:Apache 组:Webdev
这里的问题是,Webdev 组中的用户创建的新文件归 user:Webdev 所有,Apache 无法读取它们。如果 Apache 属于 Webdev 组,那么它也会有错误的权限(即,它会对文件有写入权限)
目录为 750,文件为 640 所有者:Webdev 组:Apache
(Webdev 是 Apache 成员)
这里的问题是只有一个 webdev 帐户,而我有多个需要访问权限才能做出贡献的人。理论上,如果 Webdev 也是 Apache 组的成员,那么这只需要一名开发人员就可以了。
有任何想法吗?
答案1
你的DocumentRoot
(以及里面的一切)应该不是Apache 用户(即运行 Apache 进程的用户 ID)可以写入,除非您有非常具体的原因(如果您不确定,或者在猜测,那么答案是“否”)。我理解您的四个要求,但第三个要求是错误的。您的网站上有一位不知名、不受信任的访问者应该有其他对其应用的权限。
以下是您要执行的操作:
- 你
DocumentRoot
应该:user=root
,,group=webdev
mode=0775
- 您的用户应该在
webdev
组中 - 每个用户都应该
umask 0002
在自己的 shellrc
脚本中设置
最后一项是关键。设置umask
为0002
将确保始终创建文件rw-rw-r--
和目录rwxrwxr-x
。