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

Не работает марионеточный модуль для управления группами

Я настроил модуль для создания новой группы, используя следующую документацию: https://puppet.com/docs/puppet/latest/types/group.html.

[root@puppetmaster ~]# cat /etc/puppet/modules/change-groups/manifests/init.pp 
class change-groups {

    group { "newgroup":
        gid => 3651,
        members => "user1,user2",
    }

}

К сожалению, я получаю сообщение об ошибке. Что может быть причиной?

info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members

На основе документация:

Управляйте группами. На большинстве платформ можно создавать только группы. Членство в группе должно управляться отдельными пользователями.

На некоторых платформах, таких как OS X, членство в группе управляется как атрибут группы, а не запись пользователя. Провайдеры должны иметь функцию «manages_members» для управления свойством «members» записи группы.

Это печально известный не работает на платформах Linux, которые используют groupadd / groupmod / groupdel для редактирования групп - см. выпуск апстрима # 1298.

Есть альтернативный поставщик группы Университетом Портленда, который может редактировать файл группы.

Другой вариант - использовать Augeas для управления файлом группы.

Поставщики групп по умолчанию в рассылке Puppet не включают одного, способного управлять членством в группах. Однако кому-то в Портлендском государственном университете потребовалась такая же функциональность и код некоторые настраиваемые провайдеры. Что вам нужно от этого, так это файл ggroupadd.pp который вы хотели бы вставить /etc/puppet/modules/custom/lib/puppet/provider/group (отрегулируйте соответствующим образом, чтобы отразить расположение каталога ваших пользовательских модулей).

Новый провайдер ggroupadd будет управлять группами, так что все, что вы добавляете в атрибут member, попадет в файл /etc/group также.

Похоже, что сопровождающие марионетки никогда не поддерживали его. Я смотрю на функциональность groupadd в библиотеках Ruby, и мне кажется, что это комбинация неаккуратного кода и / или неполного кода.