我正在尝试为 Web 服务器 (lighttpd) 编写 PHP 脚本来读取另一个用户的文件。 Web 服务器在用户 http:
下运行http 1929 336 0 Nov20 /usr/bin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
脚本尝试读取的文件具有以下权限:
-rw-r--r-- 1 pi www-data 721 Oct 30 05:20 /home/pi/bmSunday
我认为这意味着任何用户都可以阅读它。
脚本中的 fopen 导致权限被拒绝:
Warning: fopen(/home/pi/bmSunday): failed to open stream: Permission denied in /srv/http/p1/index.php
我正在运行 Arch Linux。
uname -r
显示:
4.4.32-2-ARCH
我需要在文件上设置什么权限才能允许用户 http 读取它?
顺便说一句,我是否正确假设我也可以通过以下方式测试权限:
sudo -u http cat /home/pi/bmSunday
使用上面的命令,结果是:
cat: /home/pi/bmSunday: Permission denied
最佳答案
目录权限可能错误,http
可能没有执行权限。添加世界执行权限:
chmod o+x /home/pi
关于linux - 尝试读取具有 644 权限的文件时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40732101/