0

我使用名为的系统用户运行 cron 作业,system_user并使 cron 作业将其输出保存到outputFile.txt我​​的 system_user 主文件夹中的文件中 /home/system_user/outputDir/outputFile.txt

这一切都有效,但现在我需要在我的 php 脚本中访问这个文件,/var/www/html/scripts/phpScriptFile.php我得到一个权限被拒绝的错误。

我发现php脚本是用apache用户运行的,所以我这样做了:

sudo chown system_user:apache outputFile.txt

但这并没有帮助。

如果 cron 在文件/var/www/html/scripts/夹中输出文件,那么我不会收到此权限错误。

我试图将 outputFile.txt 移出 /var/www/html 文件夹的原因是,如果我离开它,则可以通过 http 协议访问它,并且我不希望任何人看到此文件的内容。

请指教。

4

2 回答 2

1

outputFile.txt 的权限是什么?

sudo chown system_user:apache outputFile.txt

这将 system_user 保留为所有者,但将组更改为 apache。为此,该文件必须至少rw-r-----可以由chmod 640 outputFile.txt.

于 2012-05-23T13:58:43.760 回答
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

如果这有效(应该有效),那么您可以尝试调查组名是否正确,将访问权限移动到组部分。

于 2012-05-23T14:01:44.063 回答