linux - Apache 如何访问 root 用户创建的 SSL 证书?

标签 linux apache nginx apache2 sysadmin

我有一个运行 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 拥有的文件/目录。

关于linux - Apache 如何访问 root 用户创建的 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383678/

相关文章:

linux - FIWARE物联网代理: install from RPMs

linux - 预设字典是否仅对前 32 K 字节的数据有用?

nginx - 为 Kubernetes 入口保留客户端源 IP?

Python uwsgi w/virtualenv --no-site-packages -- import site = AttributeError {'userbase' }

ssl - 使用 Varnish 和 Nginx 作为 SSL 终止的 Magento 2 - 无限重定向

linux - linux中虚拟内存存在于何处?

linux - curl 特定 header 的 "write out"值

php - Apache+PHP 截断后/上传

java - Apache hadoop map reduce task 卡住

apache - 使用 Hadoop YARN 在本地模式下运行 Hive 查询