如何用Puppet创build一个用户和她的很多文件?

我需要使用Puppet为该用户创build一个用户帐户和大量文件。

使用最直接的方法工作正常,但是在每个file资源上,我必须指定owner => 'theuser' ,这似乎是非常多余的(如果我不是最终拥有root的话)。

有没有办法让所有者有一个范围的默认值? 或者像傀儡在那个用户下运行某些资源的sudo?

所以,如果一切都在一个位置,你可以使用文件的recurse选项

 file { "/path/to/files/": ensure => directory, recurse => true, owner => "user", group => "group", mode => "700", source => "puppet:///modules/moduleName/path/in/files/", } 

然后把所有的文件都放在里面

模块/模块名/path/英寸/文件/

Puppet会将该模块path中的所有文件放到该用户/组拥有的系统上的/ path / to /文件中。

要减less例如owner属性,您可以添加一些默认值。

 File { owner => 'user', group => 'somegroup', mode => '0444' } file { '/some/where/file1': source => 'some-source1'; '/some/where/file2': source => 'some-source2'; '/some/where/file3': source => 'some-source3'; } 

关于资源默认值的文档: http : //docs.puppetlabs.com/guides/language_guide.html#resource-defaults