尝试更新 bugzilla 中的参数时出现此软件错误。
Error in tempfile() using data/params.XXXXX: Could not create temp file data/params.BFQJE:
Permission denied at Bugzilla/Config.pm line 293
请帮忙
答案1
无法创建临时文件 data/params.BFQJE: Bugzilla/Config.pm 第 293 行的权限被拒绝
这很容易理解。您需要调整data/
目录的权限。
它与 bugzilla 安装目录相关,人们可以通过阅读代码了解到。
答案2
您需要确保bugzilla目录下的每一项内容都已经被赋予了相应的权限。您可以在bugzilla目录中运行以下命令:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find . -name \*.cgi -exec chmod 755 {} \;
find . -name \*.pl -exec chmod 755 {} \;
find . -name \*.sh -exec chmod 755 {} \;
之后运行 checkout.pl
./checksetup.pl
最后你需要重新启动你的网络服务器(我使用 apache)
service httpd restart
答案3
如果您以 root 身份运行 checksetup.pl 并且它没有解决问题,请检查文件的访问控制列表 (acl)。
我遇到了同样的问题,虽然权限乍一看是正确的,但其中的访问控制列表却导致了问题。
drwxrwx---+ 8 root www-data 4096 May 5 12:23 data
权限末尾的加号 (+) 表示访问控制列表处于活动状态。运行 getfacl 表明 www-data 组没有写权限。
getfacl data
# file: data
# owner: root
# group: www-data
user::rwx
group::r-x
... other acls
一旦我从 bugzilla 安装中删除了访问控制列表,checksetup.pl 就能够把事情理顺。
sudo setfacl -bR bugzilla/
cd bugzilla
sudo ./checksetup.pl