2013-01-20 44 views
6

我已经在centos 6中安装了apache 2.2。当apache文件夹位于其默认位置/var/www/html时,一切正常。然后,我在我的用户主文件夹中配置了一个虚拟主机。之后,当我试图从浏览器去localhost127.0.0.1时,apache开始显示Forbidden You don't have permission error您在CentOS中没有Apache中的权限错误

这是我在httpd.conf

<VirtualHost *:80> 
     DocumentRoot "/home/anjan/workspace/mfs" 
     ServerName anjan-centOS 
     <Directory "/home/anjan/workspace/mfs"> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride All 
       Order Deny,Allow 
       Allow from all 
     </Directory> 
</VirtualHost> 

在一些文章,但被白白提到的我也被禁用SElinux使用的代码。如果任何人都可以帮助我,将不胜感激。

+0

这看起来像一个基本的权限问题,而不是一个Apache的问题。 Apache运行的用户是什么?该用户是否可以访问'/ home/anjan/workspace/mfs'? – larsks

+1

一个好方法,以检查是否Apache可以读取目录是'须藤-u apache的LS /家/安键/ worskapce/mfs' –

+0

@CoreyHenderson我已经改变了文件中的每个文件夹和的权限'-RW-RW-RW - '但仍然没有运气。任何想法为什么? – th1rdey3

回答

6

我解决了这个问题。在干涉系统许可后,我发现/home/anjan拥有者user "anjan"/home/anjan拥有读/写/执行权限,但创建user "anjan"时创建的group "anjan"根本没有任何权限。

ls -l /home/ 

显示

drwx------. 28 anjan anjan 4096 Jan 21 13:19 anjan 

,所以我改变了许可使用该命令

chmod -R 770 /home/anjan 
ls -l /home/ 
drwxrwx---. 28 anjan anjan 4096 Jan 21 13:19 anjan 

我我的Apache是​​从this线程运行的用户在发现了。它运行在user "apache"

所以我用这个命令加user "apache"group "anjan"

usermod -G anjan,apache apache 

之后,瞧。没有更多禁止错误。

P.S.我以root用户身份执行了所有操作。

UPDATE 看来现在提供的链接已经损坏。另一个是Heres

为了安全起见(避免将来断开链接),请在此复制命令。在终端类型 -

ps axo user,group,comm | grep apache 
+0

共工作了RHEL!这是缺失的环节。感谢你! – rcd

1

这是(对我来说)至少是一个可疑的设计。它基本上意味着Apache用户可以对所有用户的文件进行WRITE访问,包括例如ssh-keys的秘密。

如果一个黑客攻击apache就没有乐趣。

chmod -R g-rwx ~ # undo the unsafe -R first 
chmod g+rx ~ ~/workspace 
chmod -R g+rx ~/workspace/mfs 

如果apache是“安键”组的成员:而运行为“安键”

一个简单的修改是将。

我的建议是使用ACL:如果文件系统支持。

SELinux现在在运行吗?它应该是这样,如果仍然是SELinux策略块阿帕奇对workspace/mfs访问的人数从sealert消息应该在var中是显而易见/ log/messages中的情况。 这个问题通常是固定setsebol的明智使用。

禁用SELinux的,因为事情是不能正常工作,并建议该方法是njaa ....

原来的问题是,运行Apache本身的,因为在其他类别计算权限时下跌。

chmod o+rx ~anjan/ ~anjan/workspace/ ~anjan/workspace/mfs 

应该够了。

CentOS 6是免费的(如免费啤酒)RedHat Enterprise Linux版本,因此RedHat的文档https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/是必需的。

+0

你已经提出了一个有效的观点。但对我来说,我建立这就是为什么我把里面的用户主目录中的代码的开发环境。但对于制作,我认为在任何用户主目录中放置代码也不是一个好主意。 – th1rdey3

相关问题