带有用户的 Ubuntu 服务器
root
www-data
mywebsite1
mywebsite2
该服务器上托管了多个网站,每个网站都有自己的用户。
每个网站都有自己的 cron 作业,主要是备份文件和发送电子邮件。
我应该使用 www-data 或 root 等通用用户运行所有 cron 作业吗?
或者我应该以每个站点的特定用户身份运行这些作业,因为每个 cron 作业都是特定于单个站点的?
带有用户的 Ubuntu 服务器
root
www-data
mywebsite1
mywebsite2
该服务器上托管了多个网站,每个网站都有自己的用户。
每个网站都有自己的 cron 作业,主要是备份文件和发送电子邮件。
我应该使用 www-data 或 root 等通用用户运行所有 cron 作业吗?
或者我应该以每个站点的特定用户身份运行这些作业,因为每个 cron 作业都是特定于单个站点的?
通常,执行诸如“备份文件”和“发送电子邮件”之类的 cron 作业需要在他们正在操作其文件的用户的上下文中进行。这确保了他们具有读取和写入文件的权限,并且可以根据该用户对所采取的操作进行审核。
因此,您将希望以它们所代表的用户身份运行 cron 作业。
这取决于 cronjon 的类型。
示例 1:
在这种情况下,运行用户无关紧要。
示例 2:
在这种情况下,我将使用虚拟主机正在运行的同一用户运行(以防每个虚拟主机都有自己的用户)。因为脚本可能会创建文件/文件夹或尝试写入它们,而您不希望 root 拥有文件/文件夹 undex domain.com。
第三种情况:PHP 在没有 suexec 的情况下作为 mod_php 或 CGI 脚本运行(通常在这种情况下,ftp 用户不同于运行脚本的用户)。在这种情况下,脚本可以作为 ftp 用户或网络服务器的用户 - www-data 运行。要看。