尝试以递归方式设置文件所有权时,Ansible文件模块会引发错误

 castellaniygw_623 发布于 2022-12-20 16:08

任务是

- name: ensure rvm install path is writable by the set owner:group
  file: path='{{ rvm1_install_path }}' state=directory recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}'

我明白了

TASK: [rvm_io.rvm1-ruby | ensure rvm install path is writable by the set owner:group] ***
failed: [54.68.205.15] => {"failed": true, "gid": 111, "group": "jenkins", "item": "", "mode": "0755", "owner": "jenkins", "path": "/var/lib/jenkins/.rvm", "size": 4096, "state": "directory", "uid": 106}
msg: chgrp failed

FATAL: all hosts have already failed -- aborting

文件夹已经存在.

我在用

sudo: true
sudo_user: jenkins

因为我的ssh用户是ubuntu.

这是一部分我通过RVM提供的ansible作用的问题,但感觉这可能不是太密切的关系RVM ..所以即时问这里,但不能肯定.

1 个回答
  • 您的jenkins用户无权创建目录或设置权限.此外,如果存在任何文件/目录并且由jenkins以外的其他人拥有,则jenkins用户将无法对其进行选择.

    这就是chgrp失败的原因.您需要超级用户权限,并且希望jenkins用户的权限非常有限.

    这可能是你的意图:

    - name: ensure rvm path exists
      file: path='{{ rvm1_install_path }}' state=directory recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}'
      sudo: yes
      sudo_user: root
    - name: all rvm files should be owned by our user
      file: path='{{ rvm1_install_path }}' recurse=yes owner='{{ rvm1_user }}' group='{{ rvm1_group }}'
      sudo: yes
      sudo_user: root
    

    2022-12-20 16:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有