gpt4 book ai didi

ansible - suding时丢失成为密码

转载 作者:行者123 更新时间:2023-12-04 01:22:57 24 4
gpt4 key购买 nike

当我尝试在Ansible剧本中使用sudo运行任务时,看到一条错误消息。

这是我的剧本:

---
- hosts: production
gather_facts: no
remote_user: deployer
become: yes
become_method: sudo
become_user: root

tasks:
- name: Whoami
command: /usr/bin/whoami

我希望whoami是 root,但是任务失败并显示错误消息:
» ansible-playbook -i ansible_hosts sudo.yml --ask-sudo-pass
SUDO password: [I paste my sudo password here]

PLAY [production] *************************************************************

GATHERING FACTS ***************************************************************
fatal: [MY.IP] => Missing become password

TASK: [Whoami] ****************************************************************
FATAL: no hosts matched or all hosts have already failed -- aborting

当我手动将ssh放入框中并尝试sudo时,它可以按预期工作:
» ssh deployer@production
» sudo whoami
[I paste the same sudo password]
root

部署者用户密码由Ansible设置,如下所示(在另一本剧本中):
- hosts: production
remote_user: root

# The {{ansible_become_pass}} comes from this file:
vars_files:
- ./config.yml

tasks:

- name: Create deployer user
user: name=deployer uid=1040 groups=sudo,deployer shell=/bin/bash password={{ansible_become_pass}}

其中 {{ansible_become_pass}}是我希望使用以下python代码段进行哈希处理的密码:
python -c 'import crypt; print crypt.crypt("password I desire", "$1$SomeSalt$")'
"password I desire"用密码替换,而 "$1$SomeSalt$"是随机盐。

我正在使用Ansible版本1.9.4。

有什么问题?

最佳答案

我已经尝试了您的版本和剧本,仅使用--ask-pass,它返回"stdout": "root"结果。

您必须将--ask-sudo-pass替换为--ask-pass。并确保您的部署者用户具有root特权。

$ ./bin/ansible --version
ansible 1.9.4
$ ./ansible/bin/ansible-playbook -vv pl.yml --ask-pass
SSH password:

PLAY [localhost] **************************************************************

TASK: [Whoami] ****************************************************************
<localhost> REMOTE_MODULE command /usr/bin/whoami
changed: [localhost] => {"changed": true, "cmd": ["/usr/bin/whoami"], "delta": "0:00:00.002555", "end": "2015-12-05 07:17:16.634485", "rc": 0, "start": "2015-12-05 07:17:16.631930", "stderr": "", "stdout": "root", "warnings": []}

PLAY RECAP ********************************************************************
localhost : ok=1 changed=1 unreachable=0 failed=0

关于ansible - suding时丢失成为密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33860719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com