首页 文章

Ansible剧本 - 许可被拒绝

提问于
浏览
1

我试图从Ansible 2.3.1.0运行一本剧本 . 我的远程机器是RHEL7,Python安装在/ usr / bin / python中 .

我的剧本看起来像这样:

---
- hosts: my-test
  remote_user: myuser
  become: true
  become_method: sudo

  tasks:
#Extend /opt to 1GB
  - name: Extend /opt 2048m.
    lvol:
      vg: rootvg
      lv: rootvg-opt
      size: 1024m

我收到的错误:

fatal: [my-test.host.nu]: FAILED! => {"changed": false, "failed": true, "module_stderr": "Shared connection to my-test.host.nu closed.\r\n", "module_stdout": "/usr/bin/python: can't open file '/home/myuser/.ansible/tmp/ansible-tmp-1523204435.39-113929450187838/setup.py': [Errno 13] Permission denied\r\n", "msg": "MODULE FAILURE", "rc": 1}

由Ansible创建的文件“setup.py”具有权限“700 myuser myuser”,我想这是一个问题?

如何让Ansible允许root运行脚本?我甚至不确定这是不是问题?

1 回答

  • 1

    我设法找出问题所在 . 应该永远不会在root文件无法访问的主文件夹“/ home / myuser”中创建setup.py文件 .

    我尝试在ansible.cfg中设置环境变量TMPDIR和变量“remote_tmp”,如下所示 .

    ansible.cfg:

    remote_tmp = /tmp/ansible-$USER
    

    问题是,在指定“remote_tmp”参数之前,我错过了包含“[defaults]”“section header” . 下面的ansible.cfg文件按预期工作 .

    ansible.cfg:

    [defaults]
    remote_tmp = /tmp/ansible-$USER
    

相关问题