我如何让守护进程以另一个用户的身份调用脚本?

我如何让守护进程以另一个用户的身份调用脚本?

我正在配置一台连接到 UPS 的服务器。UPS 通过 进行管理,apcupsd当断电和恢复正常时,它会调用一些脚本。

服务器正在运行用户启动的多个虚拟机vboxuser。我想在断电时正常停止虚拟机,我可以这样做vboxmanage

vboxuser我如何才能从调用的脚本中运行命令apcupsd

答案1

如果apcupsd脚本以 root 身份运行,那么您应该能够使用以下命令在脚本中运行关机命令sudo

/path/to/sudo -u vboxuser /path/to/shutdown-command args

(即创建一个由 apc 守护进程运行的 shell 脚本,并将所有 sudo 关机命令放入其中)

如果脚本不是以 root 身份运行,那么你仍然可以使用 sudo,方法是将其配置为允许相关用户以 vboxuser 身份运行关机命令。如果是这种情况,你可能必须查看 sudo 手册页,或者等待更详细的答案来涵盖它,因为我绝不是 sudo 专家。

相关内容