Должны ли мы действительно использовать chef для управления файлом sudoers?
Это мой вопрос. Я обеспокоен тем, что если Chef что-то сломает в файле sudoers, возможно, пользователем Chef, который неправильно использует кулинарную книгу, то сервер будет полностью недоступен.
Я не хотел бы, чтобы мы полностью потеряли производственный сервер для клиента, потому что мы испортили файл sudoers и больше не можем ssh в коробке.
1 ответ
Шеф-повар имеет функцию, чтобы помочь с этим, верификаторы. Вы можете настроить verifies
на вашем шаблоне sudoer вот так:
template '/etc/sudoers' do
source 'whatever.erb
verify 'visudo -c -f %{path}'
end
Если visudo отклоняет синтаксис, временный файл никогда не будет установлен, и конвергенция не удастся. Конечно, это не поможет, если у вас есть синтаксически правильные, но бесполезные sudoers. Вы можете рассмотреть возможность использования /etc/sudoers.d
структура как таковая удерживает каждый бит, по крайней мере, в некоторой степени отделенным и более сложным, чтобы случайно ударить себя.