在 Ubuntu 上使用非根用户通过 SaltStack 安装 Java/Tomcat

Installing Java/Tomcat via SaltStack using non-root user on Ubuntu

我可以做到以下几点

我想做的是

根据我的理解,唯一的方法是通过 tomcatuser 安装我的 minion。

  1. 我的理解对吗?
  2. 还有其他方法吗?

我认为您混淆了 saltstack 控制器及其控制应用程序配置的方式。

要使 salt master 和 minion 进行通信,您需要以 root 身份启动这两个服务,以控制大部分配置过程。然后,您可以在 sls 配置中为应用程序部署指定用户和组。

现在来到你的Tomcat/java/whatever包,你可以参考salt stack的配置,来指定你自己的配置甚至启动的用户组(有其他修改)。例如

Deploy foo configuration:
  file.managed:
    - name: /etc/foo.conf
    - source:
      - salt://foo.conf
    - user: foo
    - group: users
    - mode: 644

然后启动您的 tomcat,您可以使用 crontab 执行类似的操作并指定您想要的用户(只要它不在小于 1024 的服务端口下加载)。或者您可以检查 salt.states.tomcat 是否有助于启动服务:https://docs.saltstack.com/en/latest/ref/states/all/salt.states.tomcat.html