2

我尝试使用 ansible-pull 配置 RHEL 7 机器并得到以下错误。

vm-stg05 | FAILED! => {
    "changed": false,
    "cmd": "/usr/bin/git clone --origin origin 'ssh:********@vm-util01:/srv/git/applications.git' /var/lib/ansible/local",
    "msg": "fatal: cannot exec '/tmp/tmpU255JD': Permission denied\nfatal: unable to fork",
    "rc": 128,
    "stderr": "fatal: cannot exec '/tmp/tmpU255JD': Permission denied\nfatal: unable to fork\n",
    "stderr_lines": [
        "fatal: cannot exec '/tmp/tmpU255JD': Permission denied",
        "fatal: unable to fork"
    ],
    "stdout": "Cloning into '/var/lib/ansible/local'...\n",
    "stdout_lines": [
        "Cloning into '/var/lib/ansible/local'..."
    ]
}

这是一个工作箱,并且被完全锁定,所以我假设/tmp禁止执行任何操作,所以我尝试覆盖该位置并且没有发现任何差异。

我的第一次尝试是接受默认设置。我必须使用dzdo(这是一个类似于 的 Centrify 命令sudo)运行命令并且root无家可归,所以我对它失败并不感到惊讶。困扰我的是它还在使用/tmp

$ grep _tmp $ANSIBLE_CONFIG | egrep -v "^#"
remote_tmp     = ~/.ansible/tmp
local_tmp      = ~/.ansible/tmp

我的第二次尝试是创建一个目录。

$ grep _tmp $ANSIBLE_CONFIG | egrep -v "^#"
remote_tmp     = /var/lib/ansible/tmp
local_tmp      = /var/lib/ansible/tmp

$ ls -l /var/lib/ansible
total 4
-rwxr-x--- 1 root somegroup 576 Mar 12 12:51 ansiblePull.sh
drwxrwxrwx 2 root somegroup   6 Mar 12 14:08 tmp

原始错误消息是使用运行它的输出/var/lib/ansible/tmp

$ ansible-pull --version
ansible-pull 2.4.2.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/home/wstrater/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible-pull
  python version = 2.7.5 (default, Jun 11 2019, 14:33:56) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

我什至在/etc/sudoers文件中以普通用户的身份尝试了它,sudo因为这是我想要结束的地方。

ls -l /var/lib/ansible/
total 4
-rwxr-x--- 1 somebody somegroup 576 Mar 12 12:51 ansiblePull.sh
drwxrwxrwx 2 somebody somegroup   6 Mar 12 14:37 tmp

任何帮助,将不胜感激。

谢谢,韦斯。

4

0 回答 0