首页 > 解决方案 > 使用 ansible 成为另一个用户

问题描述

我有一个名为alex我登录服务器的用户。 alex无需密码即可sudo。我有另一个jenkins没有密码的用户。

要手动配置一些东西,jenkins我可以这样:

$ sudo su
# su jenkins
$ whoami
jenkins

或者像这样

$ sudo su jenkins
$ whoami
jenkins

我正在尝试用 Ansible 2.9.10 做类似的事情:

$ virtualenv/bin/ansible -u alex -k -K example.com --become-method su --become-user jenkins -m command -a whoami
SSH password:
BECOME password[defaults to SSH password]: 
example.com | CHANGED | rc=0 >>
alex
$ virtualenv/bin/ansible -u alex -k -K example.com -b --become-method su --become-user jenkins -m command -a whoami
SSH password:
BECOME password[defaults to SSH password]: 
example.com | FAILED | rc=-1 >>
Incorrect su password

我试过添加和删除-b,不同的--become-method......我无法回答jenkins

似乎有很多类似的问题,但它们都是指配置文件,我希望首先看到它像这样工作。

有人建议允许用户 jenkins 从外部登录,但我认为在这种情况下这不是一个选项。

我需要做什么?

标签: ansibleansible-2.x

解决方案


推荐阅读