Puppet 执行了错误的创建用户命令

Puppet 执行了错误的创建用户命令

我有 2 个 debian 机器。一个装有 puppetmaster,另一个装有 puppetd。

# puppet -V
2.7.18

在清单中我有:

group {
    "tipadima":
        ensure   => present,
}
user {
    "tipadima":
        shell => $operatingsystem ? {
            FreeBSD  => '/usr/local/bin/zsh',
            Debian => '/usr/bin/zsh',
        },
        comment  => 'tipadima',
        home     => '/home/tipadima',
        password => '$1$Iasdfsa33Pv$6vF/Pe.Xr.Nv0gGl.VNjx/',
        groups   => 'tipadima',
        require =>   Group["tipadima"] ,
        ensure   => present,
}

但这会在客户端产生一个错误:

信息:应用配置版本“1359531648”错误:/Stage[main]/Tipadima_files/User[tipadima]/ensure:从不存在更改为存在失败:无法创建用户 tipadima:执行“/usr/sbin/useradd -s /usr/bin/zsh -d /home/tipadima -G tipadima -c tipadima -p $1$sdgdf$6vF/Pe.Xr.Nv0gGl.VNjx/ tipadima”返回 9:useradd:组 tipadima 存在 - 如果要将此用户添加到该组,请使用 -g。

为什么?如何解决?

答案1

您应该使用 gid 来指定主要组,groups 用于指定次要成员资格

user {
    "tipadima":
        shell => $operatingsystem ? {
            FreeBSD  => '/usr/local/bin/zsh',
            Debian => '/usr/bin/zsh',
        },
        comment  => 'tipadima',
        home     => '/home/tipadima',
        password => '$1$Iasdfsa33Pv$6vF/Pe.Xr.Nv0gGl.VNjx/',
        gid      => 'tipadima',
        ensure   => present,
}

相关内容