【发布时间】: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