【问题标题】:Should we really use chef to manage the sudoers file?我们真的应该使用 chef 来管理 sudoers 文件吗?
【发布时间】:2016-09-09 15:36:33
【问题描述】:

这是我的问题。我担心如果 Chef 破坏了 sudoers 文件中的某些内容,可能是由于 Chef 用户错误地使用了说明书,那么服务器将完全无法访问。

我不希望我们完全失去客户的生产服务器,因为我们弄乱了 sudoers 文件并且无法再通过 ssh 进入盒子。

【问题讨论】:

  • 只需将 Chef 设置为在 cronjob 中定期以 root 身份运行(chef_client 食谱可以为您执行此操作)。因此,如果您在食谱中破坏它,请在食谱中修复它,然后在下次运行时,Chef 将修复文件。
  • checkout sudo cookbook,管理 sudoers 文件会容易得多。与往常一样,您甚至可以使用 chefspec 来测试使用 sudo 食谱的食谱

标签: linux chef-infra sudo sysadmin sudoers


【解决方案1】:

Chef 有一个功能可以帮助解决这个问题,验证者。您可以像这样在 sudoer 模板上设置verifies

template '/etc/sudoers' do
  source 'whatever.erb
  verify 'visudo -c -f %{path}'
end

如果 visudo 拒绝该语法,则临时文件将永远不会到位,并且会聚将失败。当然,如果您有一个语法有效但无用的 sudoers,这将无济于事。您可以考虑使用/etc/sudoers.d 结构,因为这样可以使每个位至少在一定程度上分开,并且更难不小心撞到自己。

【讨论】:

  • 我最近向厨师推送了一个损坏的 sudoers 文件,这很吓人。很高兴看到验证步骤。
  • 感谢您的回答!不幸的是,这对我来说失败了(请参阅my question here)。您是如何进行验证的?
  • (而且您在源代码之后缺少一个结束 ' ;))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2011-11-15
相关资源
最近更新 更多