创建非目录/普通文件时,Puppet 递归文件资源的属性

创建非目录/普通文件时,Puppet 递归文件资源的属性

如果我想要:

file { '/var/shennanigans/happy-hour.drunk':
    ensure => present,
    mode => 700,
    owner => shamus
}

我可以使用 recurse => true 来确保 shennanigans 目录存在吗?或者我是否需要使用 Ensure => 目录创建单独的资源?

答案1

您需要声明两个文件资源,一个用于目录,一个用于文件,使用依赖项来确保在创建目录之前不会放置文件,如下所示:

file { '/var/shennanigans':
  ensure  => directory,
  purge   => true,
  recurse => true,
  owner   => 'seamus',
}

file { '/var/shennanigans/happy-hour.drunk':
  ensure  => present,
  mode    => 0700,
  owner   => 'seamus',
  require => File['/var/shennanigans'],
}

请注意,mode参数应使用四位八进制表示法,而不是三位数字 -参见 Puppet Type 文档

顺便说一句,我已经更正了你主人的名字;)

相关内容