这个错误比较奇怪,也是第一次遇到,在apache中创建了一个新的站点,目录为/mnt/data/test ,发布以后,访问提示权限错误,打不开项目。检查日志发现错误:
Permission denied: /mnt/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
说无法检查htaccess文件,可以这个是静态网站,没有伪静态规则,其次资料说是权限问题,把网站根目录权限改为755,但是根目录已经是755,后来发现,上级目录权限不对,因为data也是新建的,但是不知道权限为什么默认为700,把/mnt/data目录改为755解决。
分析:
data目录默认为700,root拥有所有权限,其他组几其他用户没有权限访问,导致apache运行账户没有权限访问网站根目录,导致报错。
其次,为什么root创建的目录会为700,linux默认的umask值为0022,但是这台机器创建的文件夹权限为755,不知道umask值怎么改变的。
原因:
默认linux下/etc/profile对umask定义为:
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi
但是这台机器配置为:
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 077 else umask 077 fi
不知道是万网修改的还是别人改的。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2851.html