【问题标题】:Ubuntu - Prevent Linux/Apache users from listing anything but their home directory with PHPUbuntu - 防止 Linux/Apache 用户使用 PHP 列出除他们的主目录之外的任何内容
【发布时间】:2017-04-22 15:07:35
【问题描述】:

长话短说,我正处于构建小型网络托管服务器的早期阶段。当我为客户创建新网站时,会发生这种情况:

  • 使用主目录和 /sbin/nologin 创建一个新的 Linux 用户
  • 用户被添加到组 sftpusers
  • 在用户主目录中创建了一个 public_html
  • 创建了一个新的 Apache Vhost
  • 站点已启动,进程正在使用 mpm-itk 和 AssignUserId 以新 Linux 用户身份运行

到目前为止一切顺利。用户只能 sftp 进入主目录并将他的文件放在那里。使用 WinSCP 或类似的 SFTP 客户端时,用户无法在主目录之外导航。

问题是他们可以用一点 php.ini 列出主目录之外的东西。这将列出 /etc/ 中的所有内容:

$scan = scandir(/etc);
foreach ($scan as $i) {
echo $i;
}

这是我的问题,需要处理,但我真的不知道该怎么做。

我的 /etc/ssh/sshd_config:

Subsystem       sftp    internal-sftp
Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    AllowTCPForwarding no
    X11Forwarding no

如果需要更多信息,请告诉我。

【问题讨论】:

    标签: php linux apache ubuntu permissions


    【解决方案1】:

    使用open_basedir解决了这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      相关资源
      最近更新 更多