我使用名为system_user
的系统用户运行cron作业,然后将cron作业保存到system_user的主文件夹outputFile.txt
中的文件/home/system_user/outputDir/outputFile.txt
。
这一切都有效,但现在我需要在我的php脚本中访问这个文件,该脚本位于/var/www/html/scripts/phpScriptFile.php
,我收到了一个权限被拒绝的错误。
我发现php脚本是与apache
用户一起运行的,所以我这样做了:
sudo chown system_user:apache outputFile.txt
但这没有用。
如果cron在let {'1}}文件夹中输出文件,那么我不会收到此权限错误。
我试图将我的outputFile.txt移出/ var / www / html文件夹的原因是,如果我离开它,那么可以通过http协议访问它,我不希望任何人看到这个内容文件。
请告知。
答案 0 :(得分:1)
outputFile.txt有哪些权限?
sudo chown system_user:apache outputFile.txt
将system_user作为所有者,但将组更改为apache。要使其工作,该文件必须至少为rw-r-----
,这可以通过chmod 640 outputFile.txt
来完成。
答案 1 :(得分:1)
在包含该文件的文件夹中,某些权利可能不正确。
此外,apache用户的组可能未命名为apache
,或组权限未正确分配。
重新分配您的用户组:
sudo chown system_user:system_user outputFile.txt
并测试给予整个路径的一般读取权限:
chmod o+rx /home/system_user
chmod o+rx /home/system_user/outputDir
chmod o+r /home/system_user/outputDir/outputFile.txt
如果这样做(应该这样做),那么您可以尝试调查组名是否正确移动对组部分的访问权限。