Ansible 更改文件夹及其内容的权限

Ansible 更改文件夹及其内容的权限,ansible,Ansible,我最初使用git模块作为root用户下载回购协议,然后需要将所有权从root更改为jenkins 整个git回购协议及其内容归root所有 jenkins@ebdfa64dcac0:/usr/share/kaniko$ ls -tlrh total 172K drwxr-xr-x 9 root root 4.0K Apr 25 19:12 vendor -rwxr-xr-x 1 root root 1.4K Apr 25 19:12 test.sh drwxr-xr-x 15 root ro

我最初使用
git
模块作为
root
用户下载回购协议,然后需要将所有权从
root
更改为
jenkins

整个git回购协议及其内容归root所有

jenkins@ebdfa64dcac0:/usr/share/kaniko$ ls -tlrh
total 172K
drwxr-xr-x  9 root root 4.0K Apr 25 19:12 vendor
-rwxr-xr-x  1 root root 1.4K Apr 25 19:12 test.sh
drwxr-xr-x 15 root root 4.0K Apr 25 19:12 pkg
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 logo
-rwxr-xr-x  1 root root 1.6K Apr 25 19:12 integration-test.sh
drwxr-xr-x  4 root root 4.0K Apr 25 19:12 hack
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 files
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 examples
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 docs
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 deploy
-rw-r--r--  1 root root 4.4K Apr 25 19:12 code-of-conduct.md
drwxr-xr-x  4 root root 4.0K Apr 25 19:12 cmd
-rwxr-xr-x  1 root root  757 Apr 25 19:12 benchmark.sh
-rw-r--r--  1 root root 1.9K Apr 25 19:12 Makefile
-rw-r--r--  1 root root  107 Apr 25 19:12 MAINTAINERS
-rw-r--r--  1 root root  12K Apr 25 19:12 LICENSE
-rw-r--r--  1 root root 4.8K Apr 25 19:12 DEVELOPMENT.md
-rw-r--r--  1 root root 2.8K Apr 25 19:12 CONTRIBUTING.md
-rw-r--r--  1 root root  12K Apr 25 19:12 CHANGELOG.md
drwxr-xr-x  2 root root 4.0K Apr 25 19:12 testutil
-rwxr-xr-x  1 root root 1.2K Apr 25 19:12 run_in_docker.sh
drwxr-xr-x  5 root root 4.0K Apr 25 19:12 integration
-rw-r--r--  1 root root  20K Apr 25 19:12 README.md
-rw-r--r--  1 root root 1020 Apr 25 19:12 Gopkg.toml
-rw-r--r--  1 root root  33K Apr 25 19:12 Gopkg.lock
因此,我想使用ansible将
/usr/share/kaniko
的所有权及其内容更改为
jenkins

这就是我所做的

- name: Fix /usr/share/kaniko permissions.
  file: 
    path: /usr/share/kaniko
    owner: jenkins
    group: jenkins
    recurse: yes
如果省略
recurse:yes
,则文件夹的所有权只会更改,而不会更改其内容。但是当我使用递归:是时,我得到:

任务[kaniko:Fix/usr/share/kaniko权限]*********************************************
任务执行期间发生异常。要查看完整的回溯,请使用-vvv。错误是:OSError:[Errno 36]文件名太长:“/usr/share/kaniko/vendor/github.com/coreos/etcd/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/。。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。//../cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd//../cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/d/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/md/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。//cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/。。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。//../cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd//../cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/cmd/。/graft/raft/pb.go'
致命:[localhost]:失败!=>{“changed”:false,“module_stderr”:“Traceback(最近一次调用):\n File\”/root/.ansible/tmp/ansible-tmp-1556219696.49-25337671940545/AnsiballZ_File.py\”,第113行,在\n_AnsiballZ_main()\n File\“/root/.ansible/tmp/ansible-tmp-1556219696.49-25337671940545/AnsiballZ_File.py\”,在AnsiballZ_主模块调用中的第105行(压缩的mod、temp、ANSIBALLZ参数)文件“/root/.ansible/tmp/ansible-tmp-1556219696.49-253376871940545/ANSIBALLZ文件.py\”,调用模块imp.load模块(“main”,mod、mod、mod、mod\u DESC)\n文件“/tmp/ansible\u文件有效载荷/DACkt8/mainpy\”,第885行,文件中的第48行/tmp/ansible\u file\u payload\u DACkt8/main.py\”,第871行,主文件“/tmp/ansible\u payload\u DACkt8/main.py\”,第593行,在确保目录\n文件\/tmp/ansible\u文件\u payload\u DACkt8/main.py\”,第310行,在递归属性集\n文件\/tmp/ansible\u载荷DACkt8/
- name: Fix /usr/share/kaniko permissions.
  file: 
    path: /usr/share/kaniko
    owner: jenkins
    group: jenkins
    recurse: true
    follow: false
cd topdir
cd topdir/topdir
cd topdir/topdir/topdir/topdir/topdir/topdir/topdir/topdir