如何提升Ansible来运行剧本的根? 问题是,我想提供的服务器禁用了根访问权限,唯一拥有login权限的用户除了向其他用户提供外,绝对没有权限执行任何操作。
所以,当我手动login服务器时,我会做这样的事情 – ssh [email protected] ,然后如果我需要安装一些东西,我会做sudo - myuser或在一些罕见的情况sudo -然后input相应的用户密码。
不幸的是,如果我运行我的Ansible手册,我似乎无法将用户提升到根目录。
我在/etc/ansible/hosts文件中有这样的一行:
[vault_server] vdom7.intrn ansible_become=true ansible_become_user="root" ansible_become_password="<root_user_password>"
我从运行剧本得到的结果如下:
PLAY [vault_server] ********************************************************* GATHERING FACTS *************************************************************** fatal: [vdom7.intrn] => Incorrect become password PLAY RECAP ******************************************************************** to retry, use: --limit @/home/user/main.retry vdom7.intrn : ok=0 changed=0 unreachable=1 failed=0
我知道ansible_become_password确实有一些作用,因为以前我曾经得到Missing become password一个错误的Missing become password ,但同时我知道我提供的密码是正确的用户,因为当我手动使用它的作品就像一个魅力,所以我我真的不知道我在做什么错,我应该如何改变剧本的运行用户。
become默认使用sudo ( 请参阅become_method )。 所以你需要使用用户的密码,你将提供给sudo,而不是根密码。
或者你可以改变这个become_method ,比如说su 。