ansible切换用户到sudo以外的用户

时间:2017-08-16 08:21:47

标签: linux ssh ansible sudo

在我的Linux机器上,系统中有三个用户级别。

- base_user
- higher_user
- root

我通过SSH远程连接到base_user级别的计算机。 我的ssh密钥设置允许我自动以base_user身份登录。 然后我想更改为没有sudo权限的higher_user。 从ansible文档(http://docs.ansible.com/ansible/latest/become.html),变为和become_user需要在base_user上使用sudo才能成为higher_user。 我不想让high_user或base_user拥有sudo权限。

是否有任何解决方法只是在ansible中完全遵循?

1. login as base_user with ssh key setup
2. switch user to higher_user with password input

1 个答案:

答案 0 :(得分:0)

sudoers文件中的这一行将允许base_user使用sudo作为higher_user运行命令。它不允许base_user以root或任何其他用户身份运行命令。

base_user   ALL=(higher_user) ALL

从那里你可以在你的剧本中使用becomebecome_user

- hosts: some_host
  become: True
  become_user: higher_user
  tasks:
...

当您运行ansible-playbook时,您需要使用--ask-become-pass-K)提供base_user的密码。