ansible 之file模块

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

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

[root@master ~]# 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
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

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

[root@client01 tmp]# useradd boy
[root@client02 tmp]# useradd boy

[root@master ~]# 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
}


否则报错:
[root@master ~]# 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
}

[root@client01 tmp]# ll txt01 
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01

[root@client02 tmp]# ll txt01 
-rwxr-xr-x 1 boy boy 6 Jul 30 20:50 txt01
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
posted @   勤奋的蓝猫  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
点击右上角即可分享
微信分享提示