15.0.2版本代码里有个很不合理的地方,一定需要判断目录是不是有777权限

2021-06-15 22:28:50
雪晖
  • 访问次数: 4
  • 注册日期: 2011-11-22
  • 最后登录: 2021-06-21
  • 我的积分: 161
  • 门派等级: 玄清 等级1 居士

在升级完15.0.2版本后,进入登录页,会提示

不能创建临时目录,请确认目录/www/wwwroot/zentao.honbow.cn/www/data/是否存在并有操作权限。
Can't create tmp directory, make sure the directory /www/wwwroot/zentao.honbow.cn/www/data/ exists and has permission to operate.

我看了目录,实际上目录所有者是完全有权限的,然后找到了相应的代码

在module/user/control.php文件的778行,

elseif(!is_dir($this->app->dataRoot) or substr(base_convert(@fileperms($this->app->dataRoot),10,8),-4) != '0777')

这个地方要求的权限判断过大了,一定要求777,这个对于安全性来说存在较大的风险。

建议这个地方的判断改成755就可以了。

+100
沙发
2021-06-16 09:08:18
石洋洋
  • 访问次数: 6454
  • 注册日期: 2011-04-06
  • 最后登录: 2024-03-26
  • 我的积分: 96480
  • 门派等级: 幽灵 等级6 修罗
谢谢反馈,很多公司没有您这么了解linux系统的,一般情况是所有操作用root导致这个目录的属主和分组都是root,判断755的话很有很多公司读写出现问题导致数据无法存储的,贵公司可以先单独修改一下代码满足使用。
1/1 1