apache设置php权限,Apache文件权限设定的小窍门

通过这篇文章中的这件事,让我对linux下apache的设置和linux的权限机制有了进一步的了解,虽然原理是很简单的,但长期使用windows服务器的同志们未必就会知道。

情况是这样的,我这里为了日常调试程序方便,对程序文件有两个小要求,一是最好保存在home目录下,便于操作,二是文件的owner最好还是用户我,而不是apache,但要求既能够正常编辑,由能够正常的运行(在apache下,web访问)。因此,在home目录下建立了一个目录php,并且在apache中新建了一个别名Alias指向/home/fwolf/php目录。重启apache让设置生效后,却发现访问http://localhost/php返回“403 Forbidden”拒绝访问错误,问题到底出在哪里呢?

首先估计到应该是访问权限的问题,php目录默认的权限是755,owner为fwolf:fwolf,而apache是以用户www-data的身份运行的,所以编辑/etc/group文件,把用户www-data加到了fwolf组中,重新尝试访问,依然是403错误。进一步估计www-data用户的权限设置没有错,问题产生在其他地方。

进一步通过google查询之后,找到了一种调试权限的好方法:先su到root用户,再su www-data切换到www-data的用户环境,直接访问目标文件看是否“Permission denied”(以前怎么就想不到呢)。结果如下:

$ su

Password:

# su www-data

sh-3.1$ ls

ls: .: Permission denied

sh-3.1$ cd /home/fwolf

sh: cd: /home/fwolf: Permission denied

sh-3.1$ cd /home/fwolf/php

sh: cd: /home/fwolf/php: Not a directory

果然,虽然php目录的权限是755,按理说www-data应该能够访问的,但这时却不行,继续查找原因。。。原来问题出在了php目录的上级目录/home/fwolf上:

drwx—— 36 fwolf fwolf 4096 2006-08-27 15:53 fwolf

原来,上级目录/home/fwolf只允许用户fwolf本人访问,www-data虽然能够访问下级目录php,但无法“通过”上级目录,自然会产生403错误了。所以把/home/fwolf的权限更改为750,同时www-data已经被加到了fwolf组中,apache访问就正常了。

补充说明:linux系统中,目录的权限要有x才能进入。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值