我有一台运行 Apache HTTPD 的 Debian 服务器。
我已将其配置为使用驻留在 /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拥有的文件/目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)