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

2024-02-02

我有一台运行 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(使用前将#替换为@)

Apache 如何访问 root 用户创建的 SSL 证书? 的相关文章

  • 在 scapy 中通过物理环回发送数据包

    我最近发现了 Scapy 它看起来很棒 我正在尝试查看 NIC 上物理环回模块 存根上的简单流量 但是 Scapy sniff 没有给出任何结果 我正在做的发送数据包是 payload data 10 snf sniff filter ic
  • 在 Linux 中重新启动时,新创建的文件变为 0 kb(数据被覆盖为空)

    我遇到了一个奇怪的问题 这让我发疯 当前的任务是在 root 用户第一次登录时启动一组文件 并在同一用户第二次登录时启动另一组文件 我决定使用 profile 和 bashrc 文件 并在第一次登录期间发生的任务结束时重新加载 bashrc
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • 为 Linux 编译 Objective-C 应用程序(API 覆盖范围)

    我可能在这里问一些奇怪的问题 但我不确定从哪里开始 问题是我正在考虑使用 Obj C 和 Foundation 类在 Mac 上编写一个命令行工具 但存在一个非常大的风险 那就是我希望能够为不同的 Linux 发行版编译它 以便将来作为服务
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Angular2通用部署到apache远程服务器

    我在将 Web 应用程序部署到 Apache 远程服务器时遇到问题 我已经通过以下步骤部署了一个使用 RESTful API 服务 用 PHP 编写 托管在 public html api 的标准 Angular2 Web 应用程序 在项目
  • 当 ssl 和 http2 打开时,Nginx 似乎忽略 server_name

    我有这个 nginx 配置 server listen 80 default server listen 80 default server server name www example com return 301 https www
  • Nginx 位置、别名、重写、根

    我正在通过 proxypass 提供 foo bar 服务 并希望继续这样做 但是 我想从 var www mystatic baz swf 等静态地提供 foo bar baz swf 服务 我希望我能做类似的事情 location fo
  • 使用 Apache 在本地网络上托管网站

    我目前在我的机器上使用 Apache 在本地测试 PHP 网站 我只是想知道如何允许连接到本地网络的计算机访问本地计算机上托管的网站 如果仅通过 IP 本地网络上的计算机应该能够访问您的计算机 假设您没有防火墙阻止端口 80 HTTP 完成
  • 在apache中有条件地设置缓存头

    我想根据访问文件的路径有条件地设置缓存标头 基本上 访问http www example com cache cache key 应该为具有遥远未来缓存标头的文件提供服务 我使用重写规则来设置环境变量 然后尝试根据该变量设置缓存控制标头 然
  • nginx设置问题

    我知道这不是一个直接的编程问题 但是 stackoverflow 上的人似乎能够回答任何问题 我有一台运行 Centos 5 2 64 位的服务器 非常强大的双核 2 服务器 具有 4GB 内存 它主要提供静态文件 Flash 和图片 当我
  • 使用 nginx 在云上部署 django 和 React

    我有一个 digitalocean 服务器 并且已经使用 Gunicorn 和 nginx 部署了 Django 后端服务器 如何在同一台服务器上部署 React 应用程序 您可以构建 React 应用程序并使用 Nginx 提供其静态文件
  • 强制 Apache HTTPD 以 32 位运行

    我通过从二进制文件 以及 ppc 部分 中剥离 32 位架构 以 64 位模式运行 Apache HTTPD 我这样做是为了使其与 python 和 mysql 更加兼容 然而 我有另一台机器需要它以 32 位模式运行 它仍然保留所有四种原
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • 找不到包“gdk-pixbuf-2.0”

    我正在尝试在 Amazon Linux 发行版实例上构建 librsvg 我已经通过 yum 安装了大部分依赖项 其中一些在实例上启用的默认 yum 存储库中不可用 因此必须从头开始构建它们 我已经走了很远 但还停留在最后一点 跑步时sud

随机推荐