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