向 Root 发出信号执行程序

向 Root 发出信号执行程序

我有一个程序必须以 root 身份运行,并且需要由外部进程触发才能启动(它由构建过程完成触发)。它没有时间表,因此 cron 不是一个选项。我们最初有直接 ssh,但现在必须禁用它,所以这不是一个选项。有没有办法远程通知 root 在该机器上运行特定程序?不是任何程序,而是特定的授权程序?

我可以登录、使用 sudo 切换到 root 并手动运行它,没有任何问题。我们正在尝试在构建后自动执行部分安装过程。这是在 Redhat 6.4 下。

答案1

当您将其设为 SSH 时,请以另一个拥有密钥的用户身份将其设为 SSH,并允许该自动化用户以 root 身份使用 sudo 执行该特定命令。因此,您可以从构建服务器执行类似 的命令ssh sudo /scripts/myscript

答案2

你可以使用类似函数用于远程执行,但你也可以使用排队系统,例如豆茎或 PubSub 功能redis以及目标端的本地守护进程,用于轮询队列并根据队列执行命令。

答案3

编写一个脚本来监视命名管道(或网页或网络套接字)并在响应中执行您的代码。

答案4

我一直在研究一些非常类似但更加完善的东西,即通过 Samba 授予访问权限并使用通知来触发执行。

我正在博客上记录它

相关内容