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

Марионетка: убедитесь, что пользователь находится в группе wheel на всех узлах, не влияя на членство в других группах

Я хочу убедиться, что пользователь bob находится в группе wheel на каждом сервере, управляемом марионеткой, но я не хочу изменять членство в какой-либо другой группе для этого пользователя, если на одном узле bob принадлежит к группе apache, а на другом он находится в sftpusers . Я хочу оставить его в любой группе, к которой он принадлежит, и дополнительно убедиться, что он у руля.

Какое правильное решение? Не может быть exec => usermod или что-нибудь в этом роде. Думаю, должно быть что-то получше.

Если у вас уже есть Puppet для управления этим пользователем, вы можете просто использовать атрибут 'groups', чтобы определить, в каких группах находится пользователь. Если пользователь находится в группах, которые не управляются марионеткой, вам нужно установить членство на «минимум», что просто гарантирует, что пользователь находится в указанных группах (это не перезаписывает существующие группы).

Например:

user { "someuser":
    groups     => [ 'wheel', 'othergroup' ],
    membership => 'minimum',
}

Это объясняется немного подробнее в ссылка на тип.