gpt4 book ai didi

Ansible 中的 Git 模块在 tmp 目录上获得权限被拒绝

转载 作者:行者123 更新时间:2023-12-04 00:21:05 24 4
gpt4 key购买 nike

我正在尝试通过 Ansible 使用 git 克隆远程存储库模块。任务配置如下:

- name: Clone repo
git:
repo: "{{ repository }}"
dest: "/home/{{ username }}/abc"
key_file: "{{ git_key_file }}"
register: code_update

但不幸的是,它失败并出现以下错误:
fatal: [xyz]: FAILED! => {"changed": false, "cmd": "/usr/bin/git clone --origin origin '' /home/xyz/abc", "msg": "Cloning into '/home/xyz/abc'...\nfatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied\nfatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied\nfatal: unable to fork", "rc": 128, "stderr": "Cloning into '/home/xyz/abc'...\nfatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied\nfatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied\nfatal: unable to fork\n", "stderr_lines": ["Cloning into '/home/xyz/abc'...", "fatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied", "fatal: cannot exec '/tmp/tmpm9mfdkci': Permission denied", "fatal: unable to fork"], "stdout": "", "stdout_lines": []}

值得一提的是,我可以直接在远程服务器上克隆存储库。我还尝试更改 TMPTMPDIR使用 environment设置但没有任何改变。

任何回应将不胜感激...

最佳答案

/tmp在服务器上安装选项 noexec所以ansible无法执行自己的临时脚本。建议的修复方法是设置环境变量 TMPDIR :

 - name: Clone the git repo in a temporary directory
environment:
TMPDIR: "/home/{{ username }}/tmp"
git:
repo: "{{ repository }}"
dest: "/home/{{ username }}/abc"
key_file: "{{ git_key_file }}"

确保目录存在。

https://github.com/ansible/ansible/issues/30064 ,特别是。 https://github.com/ansible/ansible/issues/30064#issuecomment-487149251

关于Ansible 中的 Git 模块在 tmp 目录上获得权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60619641/

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