以非特权用户身份运行 upstart 作业

以非特权用户身份运行 upstart 作业

让新贵作业更改其用户 ID 并以非特权用户身份运行脚本的规范方法是什么?

显然可以使用susudo,但这似乎很不安全(并且会生成不必要的日志行)。

答案1

使用 upstart v1.4,设置用户标识设置组ID在配置文件中得到本机支持。

答案2

在 freenode 上的 #upstart 频道询问,官方对此事的看法是:

Upstart 的未来版本将会提供原生支持,但是现在,您可以使用以下命令:

exec su -s /bin/sh -c 'exec "$0" "$@"' username -- /path/to/command [parameters...]

答案3

使用 start-stop-daemon 怎么样?

exec start-stop-daemon --start --chuid daemonuser --exec /bin/server_cmd

新贵食谱

对于 Debian 和 Ubuntu 系统,推荐的方法是使用辅助实用程序start-stop-daemon。[…]start-stop-daemon不会对其启动的进程施加 PAM(“可插入式身份验证模块”)限制。

注意:start-stop-daemonRHEL 不支持。

答案4

setuidgid从包装中使用daemontools

文档在这里:http://cr.yp.to/daemontools/setuidgid.html

相关内容