我们真的应该使用厨师来管理sudoers文件吗?

Jor*_*let 3 linux sysadmin sudo sudoers chef-infra

这是我的问题.我担心如果Chef在sudoers文件中破坏某些东西,可能是由于厨师用户错误地使用了cookbook,那么服务器将完全无法访问.

我讨厌我们为客户完全丢失一个生产服务器,因为我们弄乱了sudoers文件而不能再进入框中.

cod*_*ger 8

Chef有一个功能来帮助这个验证器.您可以verifies在sudoer模板上设置如下:

template '/etc/sudoers' do
  source 'whatever.erb
  verify 'visudo -c -f %{path}'
end
Run Code Online (Sandbox Code Playgroud)

如果visudo拒绝语法,tempfile将永远不会到位并且收敛将失败.当然,如果你有一个语法上有效但没用的sudoers,这没有任何帮助.您可能会考虑使用这种/etc/sudoers.d结构,因为这样可以使每个位置至少在某种程度上分离,并且更难以意外地打击自己.