pbreitenbach Asked: 2011-04-02 15:40:52 +0800 CST2011-04-02 15:40:52 +0800 CST 2011-04-02 15:40:52 +0800 CST Cron 用户 root 或 www-data? 772 我在 10.04 上运行一个网站,但不确定如何设置我的 crontab。我应该在 root 下还是在 www-data 等用户下创建它?Python、Postgres、Nginx。 crontab 1 个回答 Voted Best Answer lazyPower 2011-04-02T18:44:26+08:002011-04-02T18:44:26+08:00 JGBelacqua 有一个很好的观点,你的 cron 用户的上下文取决于任务。它真的需要root权限才能运行吗?如果指定的任务不需要任何提升的权限,您最好以 WWW 服务用户 www-data 的身份运行它。 这里的重要想法是,如果您需要访问 www-data 无法访问的系统部分(并且有充分的理由),那么将 crontab 设置为 root 用户是安全的。只要确保如果您要移动有关文件,您关联正确的 chown/ghgrp 命令,以便 www-data 可以访问它们(分别如果它们需要由 www-service 访问) 为了举例说明,我使用相当完整的 PHP 脚本运行我的 pgSQL 和 MySQL 数据库的夜间数据库备份。它由我的 www-data 用户在压缩、存档并将它们发布到管理 Web 界面时执行。因此它需要被 www-data 访问。如果我不需要这种情况发生;假设我要将网站的夜间快照复制到我不希望普通用户访问的目录中,我会以 root 身份运行它。
JGBelacqua 有一个很好的观点,你的 cron 用户的上下文取决于任务。它真的需要root权限才能运行吗?如果指定的任务不需要任何提升的权限,您最好以 WWW 服务用户 www-data 的身份运行它。
这里的重要想法是,如果您需要访问 www-data 无法访问的系统部分(并且有充分的理由),那么将 crontab 设置为 root 用户是安全的。只要确保如果您要移动有关文件,您关联正确的 chown/ghgrp 命令,以便 www-data 可以访问它们(分别如果它们需要由 www-service 访问)
为了举例说明,我使用相当完整的 PHP 脚本运行我的 pgSQL 和 MySQL 数据库的夜间数据库备份。它由我的 www-data 用户在压缩、存档并将它们发布到管理 Web 界面时执行。因此它需要被 www-data 访问。如果我不需要这种情况发生;假设我要将网站的夜间快照复制到我不希望普通用户访问的目录中,我会以 root 身份运行它。