我尝试使用 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
任何帮助,将不胜感激。
谢谢,韦斯。