Apache中虚拟目录和目录权限配置

时间:2022-06-01 22:12:59

为了安全起见,需要把~yanji 用户隐藏起来,这时就可以设置个 虚拟目录

它在Apache服务器应用比较多,能够隐藏系统的真实目录,实用性非常高。

虚拟目录主要 通过Alias语句 和 ScriptAlias语句进行实现

二者区别:

Alias语句 : 针对普通别名

ScriptAlias语句: 针对脚本别名,即是ScriptAlias语句设置的别名可以支持CGI脚本。

1、Alias语句方式 Alias /别名 "真实目录"

[root@localhost root]# cd /etc/httpd/conf.d

[root@localhost conf.d]#cat > v_p_user_auth.conf

Alias "/useryan" "/home/yanji/public_html"

[root@localhost conf.d]#service httpd restart

停止 httpd: [ 确定 ]

启动 httpd: [ 确定 ]

在浏览器验证如下http://192.168.170.4/useryan/

Apache中虚拟目录和目录权限配置

2、ScriptAlias语句方式 ScriptAlias /别名 "真实目录"

[root@localhost conf.d]#vi /etc/httpd/conf/httpd.conf

找到ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 确保它不给“#”注释。 如下图

Apache中虚拟目录和目录权限配置

创建测试的主页

[root@localhost conf.d]#cat > /var/www/cgi-bin/test.sh

#!/bin/bash

echo"Content-type:text/html"echoforxin早上中午晚上;do

echo"$x
"

done

浏览器输入 http://192.168.170.4/cgi-bin/test.sh

会因为权限问题,不成功。

[root@localhost conf.d]#chmod +x /var/www/cgi-bin/test.sh

Apache中虚拟目录和目录权限配置

(注意:

如果网页乱码,就是/etc/httpd/conf/httpd.conf里面的AddDefaultCharset的值不为utf-8

改为utf-8后,重启httpd服务就行)

二、目录权限配置

在Apache服务器中,可以使用Order allow deny 语句对其进行控制,有两种格式:

1、Orderallow,deny (表示先允许后拒绝,即是没有允许的全部拒绝)严格配置

Allow from 192.168.170.0/24 (表示192.168.170.0/24 网段的所有主机可以访问)

Deny from all (表示拒绝所有主机的访问)

2、Orderdeny,allow (表示先拒绝后允许,默认没有拒绝的全部允许)宽松配置

Deny from 192.168.170.0/24 (表示拒绝192.168.170.0/24网段的所有主机访问,允许其他网段的主机访问)

例如: /var/www/music 目录只允许内网用户访问,不允许外网用户访问,那就把内网的网段范围写在节点之间

为了不混乱主配置文件,我们可以在 /etc/httpd/conf.d 目录创建music.conf文件,添加以下内容:

Alias "/music" "/var/www/music"

Options Indexes SymLinksIfOwnerMatch

Order allow,deny

Allow from 192.168.170.0/24 192.168.155.0/24

 

然后重启服务就行了apachectl restart

如果节点之间加上

AuthType Basic

AuthName "please input name$passwd"

AuthUserFile "/var/www/users"

Require valid-user

就可以同上一篇的身份验证结合,增强安全性。