更正Mac OS X下Apache 2站点文件/文件夹的所有者/组/权限?

时间:2010-01-04 20:08:48

标签: macos permissions apache2 chmod chown

很难在网上找到这个问题的Mac特定答案,所以我希望那里有人能为我安排这个问题吗?我的权限被搞砸了我的网站,我不知道如何修复它们而不仅仅在一切明显不正确的情况下抨击递归777。

谢谢!

8 个答案:

答案 0 :(得分:180)

这是我发现的最严格和最安全的方式,正如此处针对您的网络内容的假设~/my/web/root/目录所解释的那样:

  • 对于指向您的网络根目录的每个父目录(例如~/my~/my/web~/my/web/root):
    • chmod go-rwx DIR(除了所有者以外的任何人都可以访问内容)
    • chmod go+x DIR(允许“用户”包括_www“进入”dir)
  • sudo chgrp -R _www ~/my/web/root(所有网络内容现在都是群组_www)
  • chmod -R go-rwx ~/my/web/root(除了所有者以外的任何人都可以访问网络内容)
  • chmod -R g+rx ~/my/web/root(所有网页内容现在都可读/可执行/可由_www进行)

所有其他解决方案都会将文件保留给其他本地用户(他们是“员工”组的一部分,以及显然属于“o”/其他组)。然后,这些用户可以自由浏览和访问Web配置文件和脚本中的数据库配置,源代码或其他敏感详细信息(如果这些是您的内容的一部分)。如果这对您来说不是问题,那么请务必使用一个更简单的解决方案。

答案 1 :(得分:29)

如果你真的不喜欢终端这里是dkamins的GUI方式告诉你:

1)转到您的用户主目录( ludo 将是我的),然后从文件菜单中选择获取信息 cmd检查员

Get Info window Sharing & Permissions section

2)通过 alt / option 点击 [+] 符号添加 _www 组并将其权限设为读取 - 只有

Get Info add Users & Groups highlighted and World Wide Web Server highlighted

  • 因此,考虑(良好做法)不将个人信息存储在用户主文件夹(&硬盘)的根目录中!
  • 如果** everyone **组具有**只读**权限,你可以跳过此步骤但是因为AirDrop ** / Public / Drop Box **文件夹几乎没用......

3)显示用户站点文件夹的获取信息检查员并重现步骤2,然后从齿轮操作子菜单中选择应用于附带的项目。 ..

Get Info action sub-menu Apply to enclosed Items... highlighted

Voilà3步骤和GUI唯一的方式...

答案 2 :(得分:12)

我知道这是一篇旧帖子,但对于升级到Mountain Lion(10.8)且遇到类似问题的任何人,请将FollowSymLinks添加到您的{username} .conf文件中(在/ etc / apache2 / users /中)为我做了诀窍。所以文件看起来像这样:

<Directory "/Users/username/Sites/">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

答案 3 :(得分:9)

2个月大的线程,但迟到总比没有好!在10.6上,我将我的webserver文档文件夹设置为:

owner:root
group:_www
permission:755

_www是在Mac OS X下运行apache的用户。然后我添加了一个ACL以允许管理员组拥有完全权限。这样,我仍然可以使用我的管理员用户进行任何更改,而无需以root身份进行身份验证。 此外,当我想允许web服务器写入文件夹时,我可以简单地chmod到775,除了root:_www之外的所有人只有读/执行权限(不包括我已应用的任何ACL)

答案 4 :(得分:4)

在我的10.6系统上:

vhosts folder:
 owner:root
 group:wheel
 permissions:755

vhost.conf files:
 owner:root
 group:wheel
 permissions:644

答案 5 :(得分:0)

我的用户所有者是管理员用户,该组是_www,并使用权限设置为775表示dir和文件664

答案 6 :(得分:0)

Catalina更新/桌面权限

我每年在macOS上遇到一次。我通常使用apache2托管 桌面上的文件夹。

如果您尝试授予对desktop文件夹的访问权限,则需要遵循此步骤,以允许httpd访问所有文件夹:https://apple.stackexchange.com/a/373139/353465

答案 7 :(得分:-2)

首先打开终端,然后转到Web服务器目录

cd /Library/WebServer/Documents

然后输入此内容,您将执行的操作是:readwrite权限

sudo chmod -R o+w /Library/WebServer/Documents

这肯定有用!