Назад | Перейти на главную страницу

Puppet выполняет неправильную команду для создания пользователя

Имею 2 ящика debian. Один с кукловодом, второй с марионеткой.

# 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,
}

Но это вызывает ошибку на клиенте:

info: Применение версии конфигурации '1359531648' err: / Stage [main] / Tipadima_files / User [tipadima] / sure: изменение с отсутствующего на настоящее не выполнено: не удалось создать типадима пользователя: Выполнение '/ 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: группа типадима существует - если вы хотите добавить это пользователь в эту группу, используйте -g.

Почему и как это исправить?

Вы должны использовать gid, чтобы указать основную группу, группы - для вторичного членства.

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,
}