Linux系统架构-----Apache的用户访问权限的设置

目录

一.Apache的连接保持

二.Apache的访问控制

三.用户访问控制的实验


 

 

一.Apache的连接保持

  • Apache通过设置配置文件httpd-default.conf中相关的连接保持参数来开启与控制连接保持功能
  • KeepAlive决定是否打开连接保持功能,后面接OFF表示关闭,接ON表示打开。可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能,并发量不高时关闭此功能
  • KeepAliveTimeout表示一次连接多次请求之间的最大间隔时间,即两次请求之间超过该时间的话,连接就会自动断开,从而避免客户端占用连接资源
  • 在一次长连接中可以传输的最大请求数量可以使用MaxKeepAliveRequests设置,超过此最大请求数量就会断开连接。最大值的设置决定于网站中网页的内容,一般设置数量会多于网站中所有元素

二.Apache的访问控制

  • 为了更好地控制对网站资源访问,可以为特定的网站目录添加访问权限
  • 访问控制中有客户机地址限制、用户授权设置
  • 以上两种访问控制方式都应用于httpd.conf的配置文件的目录区域<Directory 目录位置></Directory>

客户机地址限制

  • 通过配置项Order、Deny from 、Allow from ,可以根据客户机的主机名或IP地址来决定是否允许客户端访问
  • Order用于设置限制顺序
  • Deny from 和 Allow from 配置项用于设置具体的限制内容
  • allow,deny:默认拒绝所有未明确允许的客户机地址
  • deny,allow:默认允许所有为明确拒绝的客户机地址
Deny from 192.168.43.155 192.168.43.166  //拒绝这两个地址访问
Allow from 192.168.43.155 192.168.43.166   //允许这两个地址访问
  • 通常,网站服务器对所有客户机开放,使用如下情况,对所有人开放
<Directory "/var/www/html/网页目录">
    Order allow,deny
    Allow from all
</Directory>

用户权限限制

  • httpd服务器支持使用Digest(摘要认证)和Basic(基本认证)
  • 基于用户的访问控制包含认证和授权
  • 认证是指识别用户身份;授权是指允许特定用户访问特定目录区域的过程
  • 使用htpasswd工具程序,可以创建授权用户数据文件,并且维护其中的用户账号,使用 -c 表示创建新的用户
htpasswd -c /etc/httpd/conf/pwd  stu  //在pwd目录下创建一个stu用户
  • 用户授权的配置
<Directory "/etc/httpd/conf/httpd.conf">
    AuthName "Auth Directory"                //定义受保护的领域名称
    AuthType Basic                           //设置认证的类型,Baisci表示基本认证
    AuthUserfile /etc/httpd/conf/pwd         //设置用于保存用户账号、密码的认证文件路径
    require valid-user                       //要求只有认证文件中合法用户才能访问,valid-user表示所有合法用户,如果授权给单个用户,可以更改指定的用户名(如stu)
</Directory>

三.用户访问控制的实验

配置DNS服务器

  • 安装bind软件和httpd软件
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd 
[root@localhost ~]# yum install bind httpd -y
  • 配置主配置文件
[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
......
  • 配置区域配置文件

[root@localhost conf]# vim /etc/named.rfc1912.zones

zone "yun.com" IN {
        type master;
        file "yun.com.zone";
        allow-update { none; };
};
  • 配置区域数据文件
[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost yun.com.zone
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves  yun.com.zone
[root@localhost named]# vim yun.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.43.173
~                                        
  • 关闭防火墙,开启服务,验证服务(验证服务在客户机上)
[root@localhost named]# systemctl stop firewalld
[root@localhost named]# setenforce 0
[root@localhost named]# systemctl start named
root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 192.168.43.173

[root@localhost ~]# nslookup www.yun.com
Server:		192.168.43.173
Address:	192.168.43.173#53

Name:	www.yun.com
Address: 192.168.43.173

[root@localhost ~]# 

配置apahce

  • 创建虚拟主机配置文件,限制用户权限
[root@localhost named]# cd /etc/httpd
[root@localhost httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[root@localhost httpd]# cd conf
[root@localhost conf]# ls
httpd.conf  magic
[root@localhost conf]# mkdir demo
[root@localhost conf]# 
[root@localhost conf]# ls
demo  httpd.conf  magic
[root@localhost conf]# vim demo/vhost.conf

<VirtualHost 192.168.43.173:80>
        DocumentRoot "/var/www/html/yun"
        ServerName www.yun.com
        Errorlog "/etc/httpd/logs/error_yun"
        Customlog "/etc/httpd/logs/access_yun" common
        <Directory "/var/www/html">
                AuthName "Auth Directory"
                AuthType Basic
                AuthUserFile /etc/httpd/conf/pwd
                require valid-user
        </Directory>
</VirtualHost>
  • 创建主页面文件
[root@localhost conf]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# mkdir yun
[root@localhost html]# echo "<h1>This is YUN</h1>" > yun/index.html
[root@localhost html]# ls
yun
[root@localhost html]# ls yun
index.html
  • 创建用户认证数据文件
[root@localhost conf]# htpasswd -c /etc/httpd/conf/pwd stu
New password: 
Re-type new password: 
Adding password for user stu
  • 开启服务,验证服务是否正常
[root@localhost conf]# systemctl start httpd

发布了94 篇原创文章 · 获赞 108 · 访问量 6412

猜你喜欢

转载自blog.csdn.net/qq_42761527/article/details/103521622