Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Ansible文件模块在尝试递归设置文件所有权时抛出错误_Ruby_Rvm_Ansible - Fatal编程技术网

Ruby Ansible文件模块在尝试递归设置文件所有权时抛出错误

Ruby Ansible文件模块在尝试递归设置文件所有权时抛出错误,ruby,rvm,ansible,Ruby,Rvm,Ansible,任务是 - 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 writa

任务是

- 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关系不太密切。。因此,我在这里询问,但不确定。

您的
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

文件夹的所有者是
jenkins
,据我所知,在故障发生后,所有权和权限都是正常的。
rvm1\u安装路径是
~/.rvm
,在jenkins主页中folder@karthik-您的问题在于对非root用户的sudo。句号。由于ansible角色更改为完全不使用
chown
,问题变得多余。