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 / 问题 / 63427
Accepted
Devrim
Devrim
Asked: 2009-09-09 09:45:08 +0800 CST2009-09-09 09:45:08 +0800 CST 2009-09-09 09:45:08 +0800 CST

如何使用动态虚拟主机进行共享虚拟主机设置?

  • 772

我们正在构建一种共享托管网络服务器设置,但一切都由 ourdomain.com 上的网络应用程序管理,该应用程序具有默认的 apache 用户(www-data)来访问每个人的文件。

每个人都有一个 user_name,他们的 web_root 是 [some_root_folder]/[user_name]

我们正在使用创建动态虚拟主机

http://httpd.apache.org/docs/2.0/vhosts/mass.html#xtra-conf

作为

[some_root_folder]/[user_name] user_name.ourdomain.com

我们的确是

chown 770 user_name:www-data -R [some_root_folder]/[user_name]

我们不希望创建单独的虚拟主机,因为这需要在每次注册时重新加载 apache(我会询问您对在另一个条目上使用 mpm-itk 创建单独的虚拟主机的意见)。

问题

如果 user_michael 执行:

<?php echo file_get_contents(‘../user_george/index.php’); ?> 上user_michael.ourdomain.com/index.php

Michael 能够读取 George 的文件,因为这两个目录都属于 www-data 用户组(否则我们的 Web 应用程序无法修改它们)

所以: www-data 怎么能修改迈克尔和乔治的文件,但他们不能修改对方的,给定上面的设置?

apache-2.2
  • 2 2 个回答
  • 1151 Views

2 个回答

  • Voted
  1. radius
    2009-09-09T10:16:24+08:002009-09-09T10:16:24+08:00

    每次注册后重新启动 Apache 可能不是问题。请参阅优雅重启。

    对于您的权限问题,如果您只需要 php 而不想运行 CGI,您可能需要查看PHP Safe Mode。它已弃用,不是最好的方法,但易于使用。
    另一种方法是使用suPHP以 user_name 而不是 apache 用户的身份运行 php 脚本。

    • 2
  2. Best Answer
    hdanniel
    2009-09-09T10:20:30+08:002009-09-09T10:20:30+08:00

    当您运行 file_get_contents 时,正在读取 ../user_george/index.php 文件的用户与 Web 服务器(www-data)相同,而不是文件的所有者。

    PHP 安全模式是此问题的解决方案,但已弃用。我建议查看本系列以获取有关共享主机安全性的解决方案。

    • 2

相关问题

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

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

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

  • PHP 作为 CGI 还是 Apache 模块?

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

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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