假设我有用于备份/同步/从互联网下载/更新任务的 bash 脚本。我将使用 crontab 按计划运行它们。为 root 创建 crontab 安全吗,还是我需要专用的 linux 用户?如果我需要它,我为什么要这样做?
更新:实际上有三个选项:1) root - 好的。这是个糟糕的选择。2) 现有用户。3) 专用用户。
专用用户是否比现有用户更好(例如工作站所有者、普通用户)?鉴于我无法让专用用户不登录,因为我正在通过 ssh 使用 rsync,并且我必须在要同步的远程计算机上添加新用户。
答案1
它是总是最好以非 root 用户身份运行程序,并仅具有所需的访问权限和权限,仅此而已。
以 root 身份运行某些程序是否“安全”取决于它执行的操作(回显“”> / dev / null看起来相对无害:)),但事实上总是与以非 root 用户身份运行它相比,它更不安全,因为您永远不知道您可能会忽略什么可能发生的情况,而某些事情可能会影响到不应该影响的事情。
这里举个例子,我曾经遇到过这样的情况:如果你不小心通过复制粘贴失败将一个危险的 bash 命令写入脚本文件中,你将部分 bash 历史记录复制到脚本中(例如,其中包含一些射频命令在相对路径上,而不是来自示例代码中的超级用户帖子的行)。我很高兴我在正确的用户下运行了那个 cronjob :) 现在发生的只是该用户的 git 配置丢失了...