我想弄清楚如何使用 Ansible 在目录树上设置权限,以便默认值为 644(当然,目录为 755),但需要 664/775 权限的目录除外。
天真的实现是这样的:
file:
path: "mypath"
mode: "u+rwX,go+rX,go-w"
recurse: True
file:
path: "mypath/exception"
mode: "g+w"
recurse: True
但是,这显然不是幂等的。每次运行时,mypath/exception 都会删除组写入权限,然后立即重新添加。
另一种方法是枚举 mypath/* 中的每个单独的子目录,我希望避免这种情况。
还有另一种方法可以以幂等的方式实现这一点吗?
您可以使用该
find
模块生成路径列表,然后对这些路径进行操作,而不是使用recurse
. 例如:针对示例目录树运行上面的剧本会产生如下内容:
这个剧本将是适当的幂等的。