【问题标题】:whoami returns apache instead of rootwhoami 返回 apache 而不是 root
【发布时间】:2018-12-29 08:11:57
【问题描述】:

我正在尝试从位置 /usr/local/administer/ 提供应用程序。 /usr/local/administer/index.php里面有一个index.php文件,里面index.php文件是下面的代码

echo exec('whoami');

上面代码的结果是apache,但是根据我在vhost中使用mod-ruid2的配置,结果应该是root

administer.conf

以下是我目前正在使用的配置。

<Directory /usr/local/administer/web>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot /usr/local/administer/
    ServerName administer.com
    ServerAlias www.administer.com
    RMode config
    RUidGid root root
    RGroups root
</VirtualHost>

有什么建议或建议吗?

【问题讨论】:

  • “好”?永远不要以 root 权限运行您的 Web 服务器。保留此设置,并确保为 apache 用户正确设置了权限。
  • @Mike'Pomax'Kamermans 这不是真正的服务器。我只是在玩弄它。
  • 我认为用户 root 在通过 PHP 运行时不会出现在 whoami 上。怎么样,在系统中创建另一个用户,并将.conf文件中的root替换为这个新用户。
  • @NavneilNaicker 真棒,它的工作原理

标签: php apache centos7 vhosts


【解决方案1】:

正如Mike 'Pomax' Kamermans 在评论中提到的那样,不要使用root 用户通过PHP 运行任何任务。你会惹上麻烦的。如果您以root 身份登录并通过PHP 运行whoami,那么root 将不会出现。我不确定为什么会这样。我喜欢的一个可能的解决方案是:

  1. 创建另一个用户
  2. 用新用户名替换root
  3. 重启 Apache

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    • 2012-05-19
    • 2010-11-04
    • 2011-07-07
    • 2021-06-18
    • 2019-06-29
    • 2012-09-11
    相关资源
    最近更新 更多