切换用户时告诉盐要求输入密码

时间:2015-09-14 20:20:38

标签: salt-stack

我在没有特权的用户下运行盐。我们的想法是创建一些可以在不同的unix用户下执行的状态,但不向任何执行该状态的人授予root权限。所以问题是,当通过runas或在cmd.run中指定用户时切换用户时,是否有可能以某种方式告诉salt要求输入密码。实际上,我想实现类似的目标:

salt '*' cmd.run runas=myuser ask_for_pass=true 'whoami'

test1:
    > enter pass for myuser:
    'myuser'

or in the same in a form of state:
whoami:
    cmd.run:
       - user = myuser
       - ask_for_pass = true

或者更接近我实际想要实现的另一个例子 - 为不同的用户安装jboss(salt-minions和master以用户“salt”的形式运行):

$ salt 'host1' state.jboss runas=jboss_user ask_for_pass=true

1 个答案:

答案 0 :(得分:-1)

Salt并不完全符合你想要做的事情。

您最好的选择可能是使用client_aclexternal_auth主配置选项。

这两种方法都允许您为系统用户或ldap用户提供运行特定命令的权限。

用于授权系统用户的

client_acl个文档:https://docs.saltstack.com/en/latest/ref/clientacl.html

用于通过PAM或LDAP验证外部用户的

external_auth个文档:https://docs.saltstack.com/en/latest/topics/eauth/index.html

例如,如果您设置了LDAP external_auth,则可能要求您的用户在命令行上执行以下操作:

salt -a ldap '*' state.jboss

Salt会提示输入用户和密码。