我的朋友的网站工作正常,直到他将文档根目录移动/var/www/xxx
到/home/user/xxx
.
当我们尝试通过Web浏览器访问该站点时,Apache提供了13个权限被拒绝的错误消息.
该站点配置为虚拟目录.所有Apache配置都保持不变(目录更改除外).
我们尝试了chmod 777 /home/user/xxx
,chown apache/home/user/xxx.但他们没有工作.
在用户的主目录中是否设置了某种安全功能?服务器操作系统是CentOS(Godaddy VPS).
任何帮助表示赞赏!
谢谢!
事实证明......除了xxx之外,我们还必须chmod 755父目录,用户.
即时通讯使用CentOS 5.5,对我而言,SElinux搞砸了它,我忘了检查出来.您可以通过root身份临时禁用它
echo 0 > /selinux/enforce
希望它可以帮到某人
selinux是造成这个问题的原因.....
TException:错误:TSocket:无法连接到localhost:9160(权限被拒绝[13])要解决它,您需要更改SELinux布尔值(它将在重新启动后自动保留).您可能还想重新启动httpd以重置代理工作程序,尽管这不是严格要求的.
setsebool -P httpd_can_network_connect 1要么
(13)权限被拒绝
错误13表示文件系统权限问题.也就是说,由于权限不正确,Apache被拒绝访问文件或目录.通常,它不会暗示Apache配置文件中存在问题.
为了提供文件,Apache必须拥有操作系统授予的适当权限才能访问这些文件.特别是,httpd.conf中指定的用户或组必须能够读取将要提供的所有文件并搜索包含这些文件的目录,以及直到文件系统根目录的所有父目录.
对于不属于httpd.conf中指定的用户或组的资源,类Unix系统的典型权限对于普通文件为644 -rw-r-r--,对于目录或CGI脚本为755 drwxr-xrx.您可能还需要在支持它们的操作系统上检查扩展权限(例如SELinux权限).
一个例子
假设您在类似unix的系统上访问文件/usr/local/apache2/htdocs/foo/bar.html时收到了Permission Denied错误.
首先检查文件的现有权限:
cd/usr/local/apache2/htdocs/foo ls -l bar.htm
必要时修复它们:
chmod 644 bar.html
然后对目录和每个父目录(/ usr/local/apache2/htdocs/foo,/ usr/local/apache2/htdocs,/ usr/local/apache2,/ usr/local,/ usr)执行相同的操作:
ls -la chmod + x.cd ..
重复到根在某些系统上,实用程序名称可用于通过列出路径的每个组件的权限来帮助查找权限问题:
namei -m /usr/local/apache2/htdocs/foo/bar.html
如果所有标准权限都正确并且仍然出现"权限被拒绝"错误,则应检查扩展权限.例如,您可以使用命令setenforce 0关闭SELinux并检查问题是否消失.如果是这样,ls -alZ可用于查看SELinux权限和chcon来修复它们.
在极少数情况下,这可能是由其他问题引起的,例如apache2.conf文件中其他位置的文件权限问题.例如,WSGIScriptAlias指令未映射到实际文件.有关哪个文件不可读的错误消息可能不准确.
不要将文件或目录设置为模式777,即使"只是为了测试",即使"它只是一个测试服务器".测试服务器的目的是在安全的环境中使事情正确,而不是逃避做错.所有它会告诉你的是问题是否与实际存在的文件有关.
不确定你是否已修复它但在httpd.conf中
检查以查看您的用户/组设置.通常它将被设置为
用户www组www
如果是这样,请将其更改为您的姓名/组
用户Greg集团员工