如何使用Puppet创build用户

我正在尝试使用Puppet创build一个用户,但是我一直在尝试的一切都失败了。

我正在尝试创build一个名为“capistrano”的用户,该用户将被放置在“www-data”组中。 我做了以下configuration。

class capistranoDeps::user { user { "capistrano": ensure => present, comment => "Capistrano user", gid => 33, shell => "/bin/bash", require => Group["capistrano"], } group {"capistrano": ensure => present, } } class capistranoDeps::config { require capistranoDeps::user # Set permissions on webserver directories file {"/var/www/": ensure => directory, owner => "capistrano", group => "www-data", mode => "775", } ... } class capistranoDeps { require tools include capistranoDeps::user,capistranoDeps::config } 

当我尝试在我的主机上执行此configuration时,出现以下错误:

 root@app1:/etc/openvpn# puppet agent --server=puppet.domain --no-daemonize --verbose notice: Starting Puppet client version 2.6.2 info: Caching catalog for app1.domain err: Could not run Puppet configuration client: Could not find user capistrano 

用户尚未在主机上创build,因为这是Puppet的工作。 我所发现的例子似乎是一样的,但由于这是行不通的,我肯定错过了一些东西。

“要求”不会做你认为它所做的事情 – 它实际上创build了一个依赖关系。

你想在类capistranoDeps :: config中使用“include”

 include capistranoDeps::user 

欲了解更多信息,也看到这个问题:

包括和要求在傀儡之间有什么区别