Puppet:确保用户在所有节点上的轮组中,而不影响其他组成员

use*_*ber 3 puppet

我想确保用户 bob 在由 puppet 管理的每台服务器上的 wheel 组中,但如果在一个节点上 bob 属于 apache 组,而在另一个节点上他在 sftpusers 中,我不想更改该用户的任何其他组成员身份. 我想把他留在他所属的任何组中,另外确保他在轮子上。

什么是正确的解决方案?它不能exec => usermod像那样俗气。一定有更好的我想象。

dev*_*ull 6

如果你已经让 Puppet 管理这个用户,你可以只使用 'groups' 属性来确定用户所在的组。如果用户所在的组不是由 Puppet 管理的,你需要设置成员资格到“最小”,这只会确保用户在指定的组中(它不会覆盖任何现有的组)。

例如:

user { "someuser":
    groups     => [ 'wheel', 'othergroup' ],
    membership => 'minimum',
}
Run Code Online (Sandbox Code Playgroud)

这在类型参考中有更多解释。