Модуль Puppet для управления группами не работает

Модуль Puppet для управления группами не работает

Я настроил модуль для создания новой группы, используя следующую документацию: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

решение1

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

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

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

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

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

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

решение2

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

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

решение3

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

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