大佬教程收集整理的这篇文章主要介绍了linux – 如何根据他们部署的环境在puppet中生成自定义的sudoers文件?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在,我们正在使用具有10个不同文件的木偶,其名称如sudoers.production1,sudoers.production2,sudoers.production3,sudoers.tesTing1,sudoers.staging1等等.
然后Puppet根据服务器的$domain(例如:dbserver.staging1.acme.com)或$hardwaremodel选择要部署的文件.它工作正常,但维护这么多文件是一场噩梦.
我想基于服务器的域自动生成sudoers文件,并且只有一个大文件,包含所有用户和所有环境的所有sudoers权限.看起来像:
user_Alias ADMINS = abe,bob,carol,dave case $domain { "staging1.acme.com" { #add dev1,dev2,tester1,tester2 to sudoers file } "tesTing2.acme.com" { #add tester1,tester3,tester4 to sudoers file }
最好的方法是什么?欢迎提出替代方案的建议.我很感激任何提示.
更新1:
出于安全原因,我们宁愿不连接位于puppet客户端上的文件夹中的一堆文件,以防有人将文件放入其中(恶意或非恶意)并破坏组合文件或在其中插入内容.
最重要的是,为了实用性,我们希望将puppet服务器上的sudoers相关文件(片段或完整)的数量保持为3(prod / stage / test)或最好是1个文件.这个文件会(以某种方式)在puppet服务器上生成sudoers文件,并向每个puppet客户端发送一个自定义文件.
这样做的目的只是在单个文件中搜索用户名并将其删除比在11个文件上执行更快.将用户添加到一堆环境时,它不会那么快,但只需要打开和查看一个文件,大大减少了遗漏的可能性.
我们的Sudo版本是1.6.9p8所以我们不能使用/sudoers.d文件夹,只能使用sudoers文件.
updatE2:
我一直在谷歌上搜索一下,我刚刚发现了这个,我过去一小时都在看这个:
https://github.com/saz/puppet-sudo#readme
我不确定,但看起来它可能会成功.有没有人用它或听说过它?
以上是大佬教程为你收集整理的linux – 如何根据他们部署的环境在puppet中生成自定义的sudoers文件?全部内容,希望文章能够帮你解决linux – 如何根据他们部署的环境在puppet中生成自定义的sudoers文件?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。