我应该在启动脚本中使用 `sudo` 还是 `su`?

Wal*_*mra 5 linux su sudo sysvinit

我有一个个人程序,它有一个服务器/客户端设计。

它的服务器守护程序部分应该以其自己的受限用户身份运行,并且该程序不像某些 Linux 程序那样设计为放弃其 root 权限(如果以 root 身份启动)。

所以我的问题是,在它的启动脚本中/etc/init.d/,我应该使用sudo还是su作为另一个用户运行这个守护进程?这有什么不同吗?两者中的任何一个都可以工作吗?还有什么?

该操作系统是一个定制的 GNU/Linux 操作系统,使用“Linux From Scratch”指令构建,并且两个程序都可以正确运行。

Mic*_*ton 2

如果您可以轻松地更改程序以使其放弃其特权,那么这是最好的方法。在启动脚本中切换用户 ID 很麻烦而且相当不灵活,即使它确实“有效”。