首页 > 开发 > Apache > 正文

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

2019-12-22 23:52:20
字体:
来源:转载
供稿:网友
13、Apache中虚拟目录和目录权限配置一、虚拟目录

之前的个人主页,为了安全起见,需要把~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.confAlias "/useryan" "/home/yanji/public_html"

[root@localhost conf.d]# service httpd restart停止 httpd: [ 确定 ]启动 httpd: [ 确定 ]

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

image

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

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

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

image

创建测试的主页

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

#! /bin/bashecho  "Content-type: text/html"echo    for x in  早上  中午  晚上;    do    echo "$x<br/>"    done

浏览器输入 http://192.168.170.4/cgi-bin/test.sh会因为权限问题,不成功。

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

image

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

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

二、目录权限配置

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

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

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

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

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

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

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

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

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

<Directory "/var/www/music">

Options Indexes SymLinksIfOwnerMatch

Order allow,deny

Allow from 192.168.170.0/24 192.168.155.0/24

</Directory>

然后重启服务就行了 apachectl restart

如果<Directory "/var/www/music" >节点之间加上

AuthType BasicAuthName "please input name$passwd"AuthUserFile "/var/www/users"Require valid-user

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表