Apache 限制对virtualhost的访问

Apache 限制对virtualhost的访问,apache,virtualhost,Apache,Virtualhost,我有3个简单的虚拟主机: <VirtualHost *:80> DocumentRoot /var/www/example1.com/public_html </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/example2.com/public_html </VirtualHost> <VirtualHost *:80> DocumentRoot /var/

我有3个简单的虚拟主机:

<VirtualHost *:80>
  DocumentRoot /var/www/example1.com/public_html
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/example2.com/public_html
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot /var/www/example1-example2-log.com/public_html
</VirtualHost>
好吧,我的问题是,如何设置:

Example1.com和example2.com可以编写、包含、要求Example1-example2-log 和自己的目录,但不能写入、包含或要求其他目录。

添加ServerName指令后,可以在/var/www目录下执行此操作:

-rwxr-x---     u1:g1       /var/www/example1.com
-rwxr-x---     u2:g1       /var/www/example2.com
-rwxrwx---  httpd:httpd    /var/www/example1-example2-log.com
创建u1用户和g1组。 创建一个u2用户和g2组。 使用户httpd成为g1和g2组的成员。 使用户u1和u2成为组httpd的成员 这样:

u1:可以访问example1.com u1是所有者==rwx u1:可以完全访问example1-example2-log.com组httpd==rwx u1:无法访问example2.com其他=-- u2:可以访问example2.com u2是所有者==rwx u2:可以完全访问example1-example2-log.com组httpd==rwx u2:无法访问example1.com其他=-- httpduser可以访问所有目录组g1和g2==r-x,组httpd=rwx 换句话说:

只有u1可以完全访问他的文件 只有u2才能完全访问他的文件 httpd可以读取所需的所有文件,因为Apache需要能够读取文件以向客户端提供服务 u1和u2可以完全访问httpd的文件。 但u1无法访问u2的文件,反之亦然 首先,您必须在每个VirtualHost中声明ServerName,这样才能工作。