Ubuntu 22.04中www-data用户执行PHP的dns_get_record函数因权限问题失败求助
Ubuntu 22.04中www-data用户执行PHP的dns_get_record函数因权限问题失败求助
最近我在调用PHP的getimagesize函数时碰到了麻烦,排查后发现PHP完全没办法解析任何域名。
我用普通用户身份在这台服务器上执行下面这条命令:
php8.2 -r "var_dump(dns_get_record('google.com'));"
能得到预期的正常结果。
但切换到www-data用户执行同样的命令:
sudo -u www-data php8.2 -r "var_dump(dns_get_record('google.com'));"
在这台服务器上直接失败了,换另一台主机却能正常运行。
我用strace跟踪了www-data用户的执行过程:
sudo -u www-data strace -f -yyyyyyy php8.2 -r "var_dump(dns_get_record('google.com'));"
对比两台服务器的输出后,确定是权限问题,出现了这些错误:
openat(AT_FDCWD</home/ixm>, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) openat(AT_FDCWD</home/ixm>, "/etc/localtime", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) openat(AT_FDCWD</home/ixm>, "/usr/lib/ssl/openssl.cnf", O_RDONLY) = -1 EACCES (Permission denied)
备注:内容来源于stack exchange,提问作者ixM
相关产品推荐
相关产品推荐

