AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 583131
Accepted
elated
elated
Asked: 2014-03-20 05:39:24 +0800 CST2014-03-20 05:39:24 +0800 CST 2014-03-20 05:39:24 +0800 CST

限制 PHP/文件系统访问剩余的子域

  • 772

我正在尝试设置类似:

a.site.com b.site.com c.site.com

现在,我希望 a.site.com 中的数据完全独立于 b.site.com。基本上,我希望能够为客户端 A 提供 a.site.com 的 FTP 访问,为客户端 B 提供 b.site.com 的 FTP 访问。如果客户端是恶意的,那么他应该只能访问自己的站点,而不应该能够干扰 b.site.com。

我如何实现这一目标?我知道这可能与 Apache 中的设置有关,但不确定。另外,我如何以编程方式创建这些子域?

apache-2.2
  • 1 1 个回答
  • 76 Views

1 个回答

  • Voted
  1. Best Answer
    Tero Kilkanen
    2014-03-20T05:51:16+08:002014-03-20T05:51:16+08:00

    如果要提供 FTP 访问,有两个问题:

    1. 限制每个站点的 FTP 访问。
    2. 限制每个站点的 PHP 访问。

    对于 FTP 访问,您可以使用 vsftpd 及其 chroot 选项。我对此没有进一步的经验,所以我不能提供更多细节。

    对于 PHP 访问,您可以为不同的站点设置 chroot jail。这是通过 PHP-FPM 服务器模块完成的。

    这个 chroot 设置很难正确设置,我花了很多时间进行调整,然后才让它工作。

    您必须在 PHP-FPM 配置文件中配置 chroot 操作。您将为每个域指定一个单独的 PHP 进程池,每个域都生活在自己的 chroot 监狱中。

    然后,您必须为每个站点创建一个 chroot 环境。这个环境包含系统库、配置文件等。有几个工具可以帮助创建 chroot 环境。

    最后,您必须配置 Apache 以通过 FastCGI 接口将每个域的 PHP 脚本传递给相应的 PHP-FPM。

    关于以编程方式创建子域,Puppet是一个有用的工具。但是,您可能必须自己创建脚本来管理您的设置。

    • 0

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve