微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在人偶中的多个目录上设置所有权?

如何解决如何在人偶中的多个目录上设置所有权?

我有一堆目录[“ mydir”,“ mydir1”,“ mydir2”和“ mydir3”]。该列表将最终增长。

如何设置目录“ mydir *”的所有权?通配符*是否可以在人偶资源中使用。我知道遍历目录数组并设置权限。由于这个列表越来越大,我想使用一些通配符,例如“ mydir *”。

解决方法

简短的回答是“否”,Puppet不支持通配符资源名称。在https://ask.puppet.com/question/15769/can-we-use-wild-cards-in-file-resource-path-and-source-parameters/上有很好的解释,并提供了解决方法。

更长的答案是“否”,Puppet不支持通配符资源名称,因为这些资源通常是在Puppet服务器上枚举的,该服务器无法访问客户端文件系统,因此无法运行通配符来生成匹配项。就像上面的Puppet回答说的那样,一种选择是使用exec资源来通过Shell Glob来设置所有权,例如

exec { 'Change owner and group to user.group on /bar/foo*':
  path    => '/bin',command => 'chown user.group /bar/foo*',}

请注意,使用exec资源本身有问题。在此特定示例中,资源不是幂等的,因此每次Puppet代理运行时都会运行,这通常是不可接受的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。