Ansible递归修改owner,group,mode

📌 原始命令

ansible group1 -m file -a 'path=/test recurse=yes owner=bin group=daemon mode=0777'

✅ 一、基本结构

部分含义
ansible使用 ansible 命令行工具
group1操作目标是 group1 主机组中的所有主机(来自 inventory 文件)
-m file使用 file 模块,专门用于管理文件、目录、链接等
-a '...'file 模块传递参数(用空格分隔多个 key=value

✅ 二、参数详解

参数含义
path=/test指定要操作的文件或目录路径,这里是 /test
recurse=yes递归应用设置,即对目录中的所有子文件和子目录也应用 ownergroupmode
🚨 只对目录生效。
owner=bin把文件/目录的所有者设置为 bin 用户。
group=daemon把文件/目录的所属用户组设置为 daemon
mode=0777设置权限为 rwxrwxrwx(读写执行权限全开)。
⚠️ 一般不建议在生产环境使用 0777,太开放。

✅ 三、这个命令干了什么?

在所有 group1 组的主机上,找到 /test 目录:

  • 如果它存在,对其及所有子文件/目录递归设置:

    • 所有者为 bin
    • 所属组为 daemon
    • 权限为 0777
  • 如果它不存在,不会自动创建(因为 state 没写,如果要确保存在,应加 state=directory)。


✅ 四、加上 state=directory 的版本(更健壮)

建议写完整一点:

ansible group1 -m file -a 'path=/test state=directory recurse=yes owner=bin group=daemon mode=0777'

这样可以确保 /test 目录存在,否则 Ansible 会自动创建它。


🚨 小提醒:

  • mode=0777 权限很开放,慎用于生产环境,容易带来安全风险;
  • 用户 bin 和组 daemon 是传统 Unix 系统里的用户组,如果你系统没有这两个,可能报错;
  • recurse=yes 是递归设置,不是递归创建目录(那是 state=directory 的事情);
  • Ansible 默认通过 SSH 远程执行,需要你有目标主机的权限(或 SSH 密钥免密登录)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值