Как организовывать файлы конфигурации в Linux

«Как организовывать файлы конфигурации в Linux» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Linux конфигурационные файлы обычно хранятся в /etc/. Лучшие практики:

  1. Структура каталогов:

    • /etc/<service>/ для сервисов (nginx, mysql)
    • /etc/default/ для дефолтных настроек
    • /etc/conf.d/ для дополнительных конфигов
  2. Форматы:

    • Простые key=value файлы
    • YAML/JSON для сложных конфигов
    • INI-стиль для секций
  3. Пример структуры для nginx:
    /etc/nginx/
    ├── nginx.conf
    ├── conf.d/
    │   └── site1.conf
    └── sites-available/
        └── site2.conf
  1. Версионирование:

    • Хранить конфиги в Git
    • Использовать симлинки из /etc/ в репозиторий
  2. Права доступа:

    • chmod 640 для чувствительных конфигов
    • chown root:service_group