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

在networking上很难find针对这个问题的Mac特定答案,所以我希望有人可以把这个rest一下给我? 我的权限被搞砸了我的网站,我不知道如何解决这些问题,而不是只是狠狠地recursion777上显然是不正确的。

谢谢!

这是我find的最具限制性和最安全的方法,正如这里为您的web内容假设的~/my/web/root/目录所解释的:

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

所有其他解决scheme将文件留给其他本地用户(他们是“职员”组的一部分,以及显然是在“o”/其他组)。 然后,这些用户可以自由浏览和访问您的Webconfiguration文件和脚本中的数据库configuration,源代码或其他敏感细节(如果这些内容是您的内容的一部分)。 如果这不是你的问题,那么一定要用简单的解决scheme之一。

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

1)转到您的用户主目录( ludo将是我的),并从文件菜单中selectGet Info cmd 在检查器中:

获取信息窗口共享和权限部分

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

获取信息添加突出显示的用户和组,并突出显示万维网服务器

  • 因此,考虑(良好做法)不要将个人信息存储在用户主文件夹(&硬盘)的根目录下!
  • 如果** everyone **组具有**只读**权限,您可以跳过此步骤,但由于AirDrop ** / Public / Drop Box **文件夹通常是无用的…

3)显示您的用户站点文件夹的获取信息检查器,并重现步骤2,然后从齿轮动作子菜单中select应用到封闭的项目…

获取信息操作子菜单应用于所包含的项目...突出显示

Voilà3步骤和GUI的唯一方法…

我知道这是一个旧post,但是对于升级到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> 

2个月大的线程,但比从来没有更好的迟到! 在10.6,我有我的Web服务器文档文件夹设置为:

 owner:root group:_www permission:755 

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

在我的10.6系统上:

 vhosts folder: owner:root group:wheel permissions:755 vhost.conf files: owner:root group:wheel permissions:644 

我的用户所有者是pipe理员用户,组是_www,权限设置为775为目录和文件664

首先打开terminal,然后进入Web服务器的目录

 cd /Library/WebServer/Documents 

然后键入这个,你会做什么是你会给write权限

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

这一定会奏效!