Невозможно использовать группы в виртуальном пользователе.

Невозможно использовать группы в виртуальном пользователе.

Я пытаюсь настроить несколько виртуальных пользователей в puppet. Базовые пользователи работают нормально, но по какой-то причине, когда я пытаюсь добавить "группы" в определение пользователя, запуск не удается.

Вот базовая конфигурация виртуального пользователя...

class users::virtual {
    define localuser ($uid,$gid) {

            user { $title:
                    ensure  =>      "present",
                    uid     =>      $uid,
                    gid     =>      $gid,
                    shell   =>      "/bin/bash",
                    home    =>      "/home/$title",
                    comment =>      $realname,
                    managehome =>   true,
            }
      }
}

и вот пользователь вызвался...

class my::users {
include users::virtual
    @users::virtual::localuser { "jdehnert": 
    uid =>  "504",
    gid =>  "users",
    groups  =>  ["wheel", "rvm"],
    require =>  Group["rvm"],
    }
}

init.pp — это...

class people {
include my::users
realize (
    Users::Virtual::Localuser["jdehnert"],
    )
}

Когда я запускаю тест --noop на клиенте, я получаю это сообщение на клиенте...

# puppetd --test --noop
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1.

а этот на сервере...

Aug 23 04:29:38 centos63 puppet-master[21713]: Invalid parameter groups at /etc/puppet/manifests/users/users.pp:7 on node dev-web-1

Если я уберу строку «groups», эта конфигурация будет работать нормально.

Я также обнаружил, что если я просто создам простой ресурс пользователя, я смогу передать параметр "groups" просто отлично. Так почему же это не работает с виртуальным пользователем?

Спасибо,

Джеймс «Зик» Денерт
[email protected]

решение1

Вы здесь что-то не понимаете:

@users::virtual::localuser { "jdehnert": 
uid =>  "504",
gid =>  "users",
groups  =>  ["wheel", "rvm"],
require =>  Group["rvm"],
}

Выше вы объявляете localuser, который определяется следующим образом:

define localuser ($uid,$gid) {

Это означает, чтотолькоПараметры, которые он получает uid, — это , gidи метапараметры (такие как require). Поскольку groupsне является метапараметром и, очевидно, не является им uidили gid, то он недействителен.

Связанный контент