python - 防止 ansible 使用 sudo

标签 python ansible sudo

我正在尝试运行 ansible 剧本:

ansible-playbook -i myserver.com, ansible/playbooks/myplaybook.yml -vvv

但它尝试在远程服务器上执行 sudo 命令,而我没有 sudo 权限,并且在提示输入密码时挂起:

<myserver.com> ESTABLISH CONNECTION FOR USER: my_username on PORT 22 TO myserver.com
<myserver.com> REMOTE_MODULE setup
<myserver.com> EXEC /bin/sh -c 'mkdir -p $HOME/.ansible/tmp/ansible-tmp-1460997867.84-241373750954463 && chmod a+rx $HOME/.ansible/tmp/ansible-tmp-1460997867.84-241373750954463 && echo $HOME/.ansible/tmp/ansible-tmp-1460997867.84-241373750954463'
<myserver.com> PUT /var/folders/31/y5npmcgn7777f5063rgjf6_hc7rppt/T/tmptR7HbV TO /home/my_username/.ansible/tmp/ansible-tmp-14609823867.84-241373750954463/setup
<myserver.com> EXEC /bin/sh -c 'sudo -k && sudo -H -S -p "[sudo via ansible, key=afasdfakjdfasdgrefavf] password: " -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-mwpxbbscfnbmmgqspgerjcwapghlvcbo; LANG=C LC_CTYPE=C /usr/bin/python /home/my_username/.ansible/tmp/ansible-tmp-14609823867.84-241373350954463/setup; rm -rf /home/my_username/.ansible/tmp/ansible-tmp-14609823867.84-241373350954463/ >/dev/null 2>&1'"'"''

failed: [myserver.com] => {"failed": true, "parsed": false}
[sudo via ansible, key=afasdfakjdfasdgrefavf] password: 

该剧本似乎适用于我团队中的其他人,所以我不确定发生了什么,这是我第一次使用 Ansible,所以如果我遗漏了一些明显的东西,我深表歉意。

---
- hosts: all

  vars_prompt:
  - name: "my_brancyh"
    prompt: "My branch:"
    default: "dev"
    private: no
  - name: "password"
    prompt: "Enter password"

  vars:
    proxy_url: "my_proxy"

  environment:
    PASSWORD: "{{password}}"
    HTTP_PROXY: http://{{ lookup('env', 'USER') }}:{{password}}@{{proxy_url}}:8099
    HTTPS_PROXY: http://{{ lookup('env', 'USER') }}:{{password}}@{{proxy_url}}:8099

  tasks:
  - name: create my environment
    shell: "{{item}}"
    with_items:
      - /opt/anaconda/anaconda/bin/conda create -y -p ~/envs/alvin --no-default-packages --no-pin python==2.7.9
      - mkdir ~/envs/my/src

最佳答案

检查您的/etc/ansible/ansible.conf 或 ~/.ansible.cfg ,也许您的环境正在将 sudo 设置为全局参数。

关于python - 防止 ansible 使用 sudo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36700034/

相关文章:

python - 无法运行 PyTest-bdd 步骤定义文件,因为它抛出索引超出范围错误

copy - Ansible playbook 不复制文件,也不给出错误

bash - 通过 sudo 从另一个 shell 脚本调用 shell 脚本 - 环境变量?

python - 如何在 Pandas 数据框中使用带有多个表达式的 str.contains()?

java - Hadoop/MapReduce 实现中的 PHP 与其他语言的对比,以及通常在云中的对比

来自 github actions secret 的 Ansible 变量

ansible - 在 Ansible 中一起使用字典和列表

Python paramiko sudo 不起作用

python - 作为另一个用户(例如 root)运行 Python 例程的 pythonic 方式是什么?

python - Django 左外连接