gpt4 book ai didi

git - 使用 become/become_user 的 Ansible 2.1.0 无法设置临时文件的权限

转载 作者:IT王子 更新时间:2023-10-29 01:06:53 27 4
gpt4 key购买 nike

我的服务器上有一个 ansible 2.1.0,我通过 vagrant 和 PC 进行部署。“部署”角色有:

- name: upload code
become: true
become_user: www-data
git: repo=git@bitbucket.org:****.git
dest=/var/www/main
key_file=/var/www/.ssh/id_rsa
accept_hostkey=true
update=yes
force=yes
register: fresh_code
notify: restart php-fpm
tags: fresh_code

在这种情况下使用 ansible 2.1.0 我得到一个错误:

fatal: [default]: FAILED! => {"failed": true, "msg": "Failed to set permissions on the temporary files Ansible needs to create when becoming an unprivileged user. For information on working around this, see https://docs.ansible.com/ansible/become.html#becoming-an-unprivileged-user"}

我在我的 PC 上使用的 ansible 2.0.1.0 都是正常的 - 文件夹/var/www/有文件夹 main 与所有者和组 www-data

如果我只使用 becomed_user: www-data 并且如果我使用 become_method: sudo 和 becomed_user: www-data - 我得到同样的错误

需要做什么来解决这个问题?

最佳答案

在 debian/ubuntu 上,你可以通过首先在远程主机上安装 acl 包来解决这个问题,就像这个 ansible 任务一样:

- name: install setfacl support
become: yes
apt: pkg=acl

与 redhat/centos 相同——在远程主机上安装 acl 包:

- name: install setfacl support
become: yes
yum: name=acl

关于git - 使用 become/become_user 的 Ansible 2.1.0 无法设置临时文件的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646880/

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