Я ищу что-то (будь то фреймворк, программное обеспечение или даже просто лучшая практика) для следующего требования:
Я хочу предоставить своего рода черный список значений конфигурации (в нескольких форматах файлов конфигурации), которые нельзя устанавливать / изменять.
Система представляет собой устройство Linux (CentOS), в котором размещено только одно приложение, изменения конфигурации должны быть редкими.
Я хочу проверить несколько файлов конфигурации на работоспособность. От apache до ifcfg-eth * и т. Д.
Есть ли решение, которое уже предоставляет такой механизм для набора «стандартных» файлов конфигурации?
Пример: я хочу предотвратить случайное отключение пользователями KeepAlive в Apache, но они должны иметь возможность изменять другие параметры конфигурации. Я хочу предотвратить «типичные ошибки».
Я сделал что-то подобное с Puppet (болезненно), используя решение, описанное по адресу: Установите параметры sysctl.conf с помощью Puppet
Чтобы получить довольно простую функцию, потребовалось немало усилий. В вашей ситуации, каково соотношение параметров, которые вы хотите внести в черный список, и тех, которые вы не против изменения? Это повлияет на подход к решению этой проблемы. Многие инженеры, которых я знаю, предпочитают перемещать файлы конфигурации целиком, а не использовать шаблоны или изменять значения.
В CFEngine был параметр модификации строки, который гарантировал наличие определенных строк в файле и добавлял их, если их не было. То же и с комментариями ...
Ваши варианты использования являются основными целями таких инструментов управления конфигурацией, как Кукольный, Повар, CFEngine, bcfg2 и другие.
Предположим, вы хотите предотвратить изменения в ifcfg-eth0
. Вы должны настроить эти инструменты для отслеживания этого файла.
Когда агент инструментов выходит из спящего режима через равные промежутки времени, он может либо сообщить вам, что произошло изменение, либо вернуть файл в исходное состояние.