>我与一个名为 system_user
的系统用户一起运行 cron 作业,我让 cron 作业将其输出保存到system_user的主文件夹/home/system_user/outputDir/outputFile.txt
outputFile.txt
的文件。
这一切都有效,但现在我需要在位于/var/www/html/scripts/phpScriptFile.php
的 php 脚本中访问此文件,并且我收到权限被拒绝错误。
我发现php脚本是用apache
用户运行的,所以我这样做了:
sudo chown system_user:apache outputFile.txt
但这无济于事。
如果cron在比方说/var/www/html/scripts/
文件夹中输出文件,那么我不会收到此权限错误。
我试图将我的输出文件.txt移出/var/www/html 文件夹的原因是,如果我离开它,那么可以通过 http 协议访问它,我不希望任何人抓住这个文件的内容。
请指教。
可能包含该文件的文件夹中的某些权限不正确。
此外,可能是 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
如果这有效(应该可以(,那么您可以尝试调查组名称是否正确,将访问权限移动到组部分。
outputFile.txt的权限是什么?
sudo chown system_user:apache outputFile.txt
这让system_user成为所有者,但将组更改为 apache。要使其正常工作,文件必须至少rw-r-----
,这可以通过chmod 640 outputFile.txt
来完成。