rlc*_*ral 6 cron file-permissions apache-2.2
我有一个运行 PHP 脚本并创建文件(图像)的 cron 作业。但是cron作业运行为我(是我自己的用户名),而不是Apache,没人,httpd的,WWW ...和所有创建的文件属于该用户。
如果我通过浏览器运行相同的脚本,它会作为 apache 运行。我已经对其进行了测试whoami并检查了文件权限。
问题是,如果我开发一个 web 界面来删除文件(这是用户/管理员能够管理图像的方式),它将作为 apache 运行,并且无法删除文件,因为 apache 是不是所有者也不属于我的同一组。
处理这个问题的正确方法是什么?
jan*_*kes 11
最好以 apache 用户身份运行 cron 作业:
sudo crontab -u apache_user -e
Run Code Online (Sandbox Code Playgroud)
与像你一样运行作业相比,这是一个更简洁的解决方案,因为属于 apache 的应该保持这样。混合用户会带来混乱,并可能在某些时候产生问题。
有不同的解决方案:
www-data、nobody或您系统上的任何名称。您还需要授予该组写入权限。sudo su apache_user -c "crontab -e":但是,这可能不起作用,具体取决于是否允许切换到 apache 用户并为apache_user.我认为第1点应该更好。
| 归档时间: |
|
| 查看次数: |
9781 次 |
| 最近记录: |