Я хочу убедиться, что пользователь bob находится в группе wheel на каждом сервере, управляемом марионеткой, но я не хочу изменять членство в какой-либо другой группе для этого пользователя, если на одном узле bob принадлежит к группе apache, а на другом он находится в sftpusers . Я хочу оставить его в любой группе, к которой он принадлежит, и дополнительно убедиться, что он у руля.
Какое правильное решение? Не может быть exec => usermod
или что-нибудь в этом роде. Думаю, должно быть что-то получше.
Если у вас уже есть Puppet для управления этим пользователем, вы можете просто использовать атрибут 'groups', чтобы определить, в каких группах находится пользователь. Если пользователь находится в группах, которые не управляются марионеткой, вам нужно установить членство на «минимум», что просто гарантирует, что пользователь находится в указанных группах (это не перезаписывает существующие группы).
Например:
user { "someuser":
groups => [ 'wheel', 'othergroup' ],
membership => 'minimum',
}
Это объясняется немного подробнее в ссылка на тип.