我有一些我正在运行的cron作业 – 主要是备份相关的东西.
我不得不像/ etc / apache2 / sites / available等那样备份,这需要root访问权限.
我有一些问题:
在无头服务器上运行时:
>在哪个用户下运行脚本(假设我没有在cron作业条目中指定用户)?
>以root身份运行备份脚本是否可以 – 或者这是否会带来安全问题?
顺便说一下,我的服务器正在运行Ubuntu 10.0.4 LTS
解决方法
如果您已充分保护对脚本的访问并采取合理的预防措施,则从root crontab运行某些内容通常不会带来安全风险.
但是,不要以非root用户可以编辑或覆盖的root身份运行脚本.这适用于从cron运行的作业以及交互式运行的作业.
如果该脚本包含同样适用于它们的其他文件.
如有疑问,请始终使用最小特权原则.如果您仍然不确定,您可以随时在论坛和IRC中提出具体问题.
(几乎)总有一种方法可以作为非root用户运行.如果所有其他方法都无法使用sudo将用户限制为特定命令,那么也会限制潜在的危害.
因此,对于备份/ etc / apache2 / sites-available的示例,任何人都可以读取该文件,因此这意味着它只能访问root用户可写的目标.
你可以解决这个问题
>创建一个名为backupadmins的组(例如)>将目标目录中的组设置为backupadmins>添加一个名为backupuser的用户(例如)>将用户backupuser添加到组backupadmins.>使backupadmins组可写入目录>从backupuser的crontab运行cron作业.