Linux - 以“nobody”身份运行守护进程

Chr*_*nch 2 linux permissions daemon nobody

我的根目录中有一个守护进程,目前正在以 root 身份运行。但是,由于该程序可以读取文件系统,这显然是一个安全问题。我如何以无人身份运行它以便我可以解决这个问题?

执行“su - nobody -c /root/myscript”不起作用,返回权限被拒绝错误。我似乎可以解决这个问题的唯一方法是:

  1. Chmod -R 777 /root,我不想在我的根目录上做这件事,也会弄乱 ssh。
  2. 将脚本移动到 /opt 或 /var 然后执行 (1)

当然,我可能缺少一个简单的解决方案。我可以把它告诉任何人,但这也不能解决问题。有任何想法吗?

vor*_*aq7 5

您不想做 (1) -- 单独保留 root 的主目录。(2) 是您的最佳选择 - 创建一个由守护程序运行的用户拥有的新目录,并让它在该目录中执行它需要执行的任何磁盘 I/O。

半相关,不要以“nobody”的身份运行——有一个古老的笑话,在 *NIX 系统上,没有人通常是最有特权的用户,因为所有的守护进程都以“nobody”的身份运行。

如果你真的很关心安全,你就不想落入那个陷阱。值得花额外的时间为您的守护进程创建一个具有适当限制的专用用户:-)