Apache 限制对virtualhost的访问
我有3个简单的虚拟主机: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/
<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,这样才能工作。