我有一个Debian服务器,我正在运行Apache HTTPD.
我已将其配置为使用驻留在/ etc / ssl / private /中的某些SSL证书.只有root用户才能对此目录具有读写权限. HTTPD进程作为www-data用户运行,但它是由root用户使用init.d脚本(由HTTP安装提供)启动的.
当apache2进程作为www-data运行并且SSL证书只能由root用户读取时,Apache如何能够毫无问题地读取证书和功能?
我在使用Python编写的自定义服务器编写的init.d脚本面临着类似的问题.只要我没有使用SSL证书,这个init.d脚本就可以正常工作.一旦我添加了这些证书,该过程就不会启动,因为它无法读取证书,因为www-data用户无法读取证书.
在类似的情况下我也使用过nginx,结果和Apache一样.那么这两个项目如何解决这个问题呢?
解决方法:
当你跑步
ps aux | grep apache2
您会注意到root拥有一个进程,我认为这可能是原因,因为此进程可以访问root拥有的文件/目录.