客观的:使用自定义 krb5.conf 文件来使用 Apache/mod_auth_kerb,而不是系统标准/etc/krb5.conf
。
问题:我有一个严格控制的环境,我们应用程序所有者可以在其指定的目录中配置 Apache 实例,但基线配置(操作系统和 Apache 核心)由单独的组维护。因此,我对核心配置所做的任何更改都意味着将/etc/krb5.conf
更改复制到数千台服务器(风险+)或为此服务器编写自定义系统配置脚本(风险+,$+)。
成功典范:为了调用kinit
测试或ktutil
生成密钥表文件以供 Apache 在此环境中使用,请重载KRB5_CONFIG
环境变量(在StackOverflow:传递 kinit 自定义 krb5.conf 文件)
问题:有没有办法指定KRB5_CONFIG
Apache 的环境变量或强制 mod_auth_kerb 使用其他配置?
失败的尝试:我尝试env
在 apachectl restart 上运行相同的命令。Apache 指令 SetEnv 被忽略了,因为它适用于基于用户请求的脚本执行,而不是 Apache“后台”功能。
答案1
在大多数系统上,还有一个/etc/init.d/httpd
用于启动 Apache 服务器的脚本。我认为你唯一的解决方案是在该脚本中设置环境变量,然后使用类似
/sbin/service httpd restart
使用新的环境变量重新启动 apache。您必须以某种方式修改启动 httpd 的进程的环境。
答案2
我认为 Red Hat 系统/etc/sysconfig/httpd
是环境变量更好的存放位置。