与用户的Ubuntu服务器
root www-data mywebsite1 mywebsite2
有多个网站托pipe在这台服务器上,每个都有自己的用户。
每个网站都有自己的cron作业,主要是备份文件和发送电子邮件。
我应该使用像www-data或root这样的通用用户来运行所有的cron作业吗?
还是我应该作为每个站点的特定用户运行作业,因为每个cron作业都是针对个别站点的?
一般来说,执行诸如“备份文件”和“发送电子邮件”之类的cron作业需要在正在操作的文件的用户的上下文中进行。 这确保了他们有权读取和写入文件,并且所采取的行动可以被审计为与该用户相对应。
所以你会想以他们所代表的用户身份运行cron作业。
这取决于cronjon的types。
例1:
wget http://domain.com/cron.php
在这种情况下运行的用户并不重要。
例2:
/usr/bin/php /var/www/domain.com/cron.php
在这种情况下,我将运行与虚拟主机运行相同的用户(万一每个虚拟主机拥有自己的用户)。 因为脚本可能会创build文件/文件夹或尝试写入文件/文件夹,并且您不需要root拥有的文件/文件夹undex domain.com。
第三种情况:PHP运行为mod_php或CGI脚本没有suexec(通常在这种情况下,ftp用户不同于运行脚本的用户)。 在这种情况下,脚本可以作为ftp用户或web服务器的用户 – www-data运行。 依靠。