【问题标题】:Start apache as www-data on boot在启动时将 apache 作为 www-data 启动
【发布时间】:2013-06-01 14:39:34
【问题描述】:

我已经在我的 ubuntu 12.04 上使用带有 SSL 的 apache 设置了一个网络服务器。但是,当我启动我的网络服务器时,apache 会以 root 身份启动并运行。它运行并占用端口 80,我必须停止它并使用 service apache2 start 手动启动 apache 以使其作为 www-data 运行

root       887  0.0  0.3 105692  6576 ?        S    17:18   0:00 /usr/sbin/apache2 -k start

确保重启的最佳方法是使用用户 www-data 运行

【问题讨论】:

    标签: ubuntu ubuntu-12.04


    【解决方案1】:

    当你想监听 80 端口时,apache 需要 root 权限,因为它是privileged port。

    在端口 80 上接收到连接后,apache 将生成一个具有非 root 权限的工作进程来处理此连接上的套接字。因此,如果您的 Web 应用程序或 apache 工作进程中存在错误,您就不会受到 root 漏洞的攻击。

    【讨论】:

    • 但是我遇到了问题,apache 以 root 身份启动并继续运行,它不会以 www-data 身份运行。我的 envvars 设置为作为 www-data 运行,但是,我必须先杀死 apache 并重新启动才能使其作为 www-data 运行
    • 您的环境变量通常在 upstart/systemd/init 脚本中被忽略。您必须在 init 脚本中设置环境变量,如果您使用的是发行版附带的 init 脚本,这是一个坏主意。重新运行 /etc/init.d/apache start|stop|reload 实际上会使用您的环境变量。我建议不要使用 env vars,而是使用 apache 配置文件来存储配置。
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2015-05-20
    • 2012-03-14
    相关资源
    最近更新 更多