Задача: Используйте Apache / mod_auth_kerb, используя собственный файл krb5.conf, а не системный стандарт /etc/krb5.conf
.
Проблема: У меня есть строго регламентированная среда, в которой мы, владельцы приложений, можем настраивать экземпляры apache в назначенных им каталогах, но базовая конфигурация (ОС и ядро Apache) поддерживается отдельной группой. Таким образом, любые изменения, которые я делаю в основной конфигурации, например /etc/krb5.conf
будет означать репликацию изменений на тысячи серверов (риск +) или создание сценария для пользовательской конфигурации системы для этого сервера (риск +, $ +).
Модель успеха: Чтобы вызвать kinit
проверить или ktutil
для создания файлов keytab для использования Apache в этой среде, перегружая KRB5_CONFIG
переменная среды (обсуждается в StackOverflow: передать kinit пользовательский файл krb5.conf)
Вопрос: Есть ли способ указать либо KRB5_CONFIG
переменная окружения для Apache или заставить mod_auth_kerb использовать другую конфигурацию?
Неудачные попытки: Я пробовал запустить то же самое env
при перезапуске apachectl. Директива Apache SetEnv была упущена из виду, поскольку она применяется к выполнению скриптов на основе запросов пользователей, а не к функциям «backoffice» Apache.
в системах Red Hat я думаю /etc/sysconfig/httpd
это лучшее место для env vars.
В большинстве систем также есть /etc/init.d/httpd
который выполняет исходный запуск сервера apache. Я думаю, ваше единственное решение - установить переменную окружения в этом скрипте и использовать что-то вроде
/sbin/service httpd restart
для перезапуска apache с новыми переменными окружения. Вам нужно как-то изменить среду процесса, запускающего httpd.