微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Puppet强制实施本地组成员身份?

从Ask @ PuppetLabs交叉发布此信息. (那里交通不足.)

我已经看到了一些使用Augeas将用户添加到%wheel的示例.这些都是同一件事的变种;在最后插入用户节点.

> Quick Tip: Add users to a group with augeas
> How to manage configurations in Linux with Puppet and Augeas
> Puppet Group Management Module

我需要做的是删除在配置管理之外添加用户.对于Puppet来管理组,只有我的Puppet类中定义的用户应该存在并且其他任何用户都被删除.

看起来像执行一个简单的Sed命令会容易得多,但是很多人都说试图远离执行官.在这种情况下,这是一个糟糕的解决方案吗?

解决方法

以这种方式定义轮子用户会导致它们被添加,但如果你从类中删除jane,她将不会在下一个Puppet运行时从轮组中删除.
class wheel {
  augeas { "wheelgroup":
    context => "/files/etc/group/wheel",changes => [
      'set user[1] bob','set user[2] jane',]
  }
}

我找到的唯一方法是清除轮组并每次重新添加它们.

class wheel {
  augeas { "wheelgroup":
    context => "/files/etc/group/wheel",changes => [
      'rm user','set user[1] bob',]
  }
}

我认为只有匹配我定义的用户才能阻止它在每个Puppet运行时运行.但是,这也是删除Puppet外部添加用户的唯一方法,以确保%wheel仅由Puppet管理.

解决方案也不适合于重用参数化.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐