我在 debian 上使用 puppet 3.8.4。我想递归设置目录的所有者和组,但只设置目录本身的权限,即。我不想对目录中的任何内容进行 chmod 操作,而只想对其进行 chown/chgrp 操作。
我已尝试以下操作...
file {[
"/foo/bar" ,
] :
ensure => directory,
owner => root,
group => bar,
recurse => true,
require => [
User[root],
Group[bar],
],
}
file {[
"/foo/bar" ,
] :
ensure => directory,
mode => 0640, # +x automatically added to directories
recurse => false,
}
但是如果你这样做的话,puppet 当然会抱怨重复声明:File[/foo/bar]。
有没有办法在 puppet 中执行此操作,而不必明确执行顶层目录以及其下的所有文件和文件夹?
答案1
答案2
未经测试,但是这应该可行:
对于第二个资源,只需将其命名为不同的名字并设置一个明确的小路:
file {"/foo/bar_root":
path => "/foo/bar",
ensure => directory,
mode => 0640, # +x automatically added to directories
recurse => false,
}