如何使用 Puppet 创建用户

如何使用 Puppet 创建用户

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

我正在尝试创建一个名为“capistrano”的用户,该用户将被放置在“www-data”组中。我已完成以下配置。

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
}

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

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

用户尚未在主机上创建,因为这是 Puppet 的工作。我到处找到的示例似乎与此相同,但由于这不起作用,我肯定遗漏了一些东西。

答案1

“require” 并不会按照你想象的那样做——它实际上会创建依赖关系。

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

include capistranoDeps::user

有关更多信息,另请参阅此问题:

puppet 中的 include 和 require 有什么区别

相关内容