ansible 之file模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible 之file模块相关的知识,希望对你有一定的参考价值。

调用-s 参数,需要客户端能够无密码使用sudo 命令;
例:更改所有节点上/tmp/test.sh 的权限为755,属主和属组为root

[[email protected] ~]# ansible slave -m file -a "dest=/tmp/test.sh mode=755 owner=root group=root" –s

[[email protected] ~]# ansible slave -m file -a "dest=/tmp/test.sh mode=755 owner=root group=root" -s
10.0.0.20 | SUCCESS => {
    "changed": false, 
    "gid": 0, 
    "group": "root", 
    "mode": "0755", 
    "owner": "root", 
    "path": "/tmp/test.sh", 
    "size": 76, 
    "state": "file", 
    "uid": 0
}
10.0.0.21 | SUCCESS => {
    "changed": false, 
    "gid": 0, 
    "group": "root", 
    "mode": "0755", 
    "owner": "root", 
    "path": "/tmp/test.sh", 
    "size": 76, 
    "state": "file", 
    "uid": 0
}

调用-s 参数,需要客户端能够无密码使用sudo 命令;
例:更改所有节点上/tmp/test0001 的权限为644,属主和属组为boy
前提是client节点必须已经创建用户boy

[[email protected] tmp]# useradd boy
[[email protected] tmp]# useradd boy

[[email protected] ~]# ansible slave -m file -a "dest=/tmp/txt01 mode=755 owner=boy group=boy" -s
client02 | SUCCESS => {
    "changed": true, 
    "gid": 500, 
    "group": "boy", 
    "mode": "0755", 
    "owner": "boy", 
    "path": "/tmp/txt01", 
    "size": 6, 
    "state": "file", 
    "uid": 500
}
agent.test.com | SUCCESS => {
    "changed": true, 
    "gid": 501, 
    "group": "boy", 
    "mode": "0755", 
    "owner": "boy", 
    "path": "/tmp/txt01", 
    "size": 6, 
    "state": "file", 
    "uid": 501
}

否则报错:
[[email protected] ~]# ansible slave -m file -a "dest=/tmp/txt01 mode=755 owner=boy group=boy" -s
agent.test.com | FAILED! => {
    "changed": false, 
    "failed": true, 
    "gid": 0, 
    "group": "root", 
    "mode": "0644", 
    "msg": "chown failed: failed to look up user boy", 
    "owner": "root", 
    "path": "/tmp/txt01", 
    "size": 6, 
    "state": "file", 
    "uid": 0
}
client02 | FAILED! => {
    "changed": false, 
    "failed": true, 
    "gid": 0, 
    "group": "root", 
    "mode": "0644", 
    "msg": "chown failed: failed to look up user boy", 
    "owner": "root", 
    "path": "/tmp/txt01", 
    "size": 6, 
    "state": "file", 
    "uid": 0
}

[[email protected] tmp]# ll txt01 
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01

[[email protected] tmp]# ll txt01 
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01

以上是关于ansible 之file模块的主要内容,如果未能解决你的问题,请参考以下文章

二Ansible基础之模块篇

ansible plugins简介

ansible 的file 模块

ansible 之 stat

ansible常用模块介绍

ansible模块简介