【Linux】apache的认证授权和访问控制

前言

上篇文章我们探讨了虚拟主机,我们可以通过ip或者ip+端口号或者域名访问一个网站,但有的网站我们不希望别人访问或者有权限的人才能访问,或者你点击某个连接时,你的浏览器会弹出一个身份验证的对话框,要求输入账号及密码,如果没有,就无法继续浏览了。这其实就是www服务器的用户授权和访问控制在发挥作用

今天我们就来聊聊apache的认证授权和访问控制。

ip访问控制

目录控制语句以<Directory 目录名>开头;以结束。
先允许后拒绝,默认拒绝所有:Order allow,deny
先拒绝后允许,默认允许所有:Order deny,allow
AllowOverride None:不允许覆盖,即不允许从根目录向子目录覆盖。即默认情况下拒绝从根目录下向子目录访
问,如果要看根目录下的一个子目录,必须先打开子目录的访问权限。
Order allow,deny:访问控制的顺序,先匹配允许,再匹配拒绝,默认拒绝。
Allow from all:表示允许任何地址访问。
Allow from 172.18.49.0/24
Deny from 172.18.49.102

用户身份认证授权

主要参数
参数 作用
Authtype 是认证类型 Basic apache自带的基本认证
Authname 认证名字,是提示你输入密码的对话框的提示语
Authuserfile 是存放认证用户的文件
require user 用户名 允许指定的一个或多个用户访问,如果认证文件里面还有其他用户,还是不能访问
require valid-user 所有认证文件里面的用户都可以访问
require group 组名 授权给一个组,较少用
配置案例
a. 创建访问用户及密码
[root@gaosh-1 ~]# useradd gaosh
[root@gaosh-1 ~]# htpasswd -c /etc/httpd/webpasswd gaosh
New password: 
Re-type new password: 
Adding password for user gaosh
[root@gaosh-1 ~]# cat /etc/httpd/webpasswd 
gaosh:rHBrfxVHhn4F6
[root@gaosh-1 ~]# 

注意: 只有在第一次使用的时候才用-c参数

b. 配置文件修改

[root@gaosh-1 ~]# vim /etc/httpd/conf/httpd.conf

<VirtualHost 192.168.1.22:80>
    DocumentRoot /var/www/html/zmgaosh22
    ServerName www.zmgaosh22.com
    <Directory /var/www/html/zmgaosh22>
    AuthType Basic
    AuthName Password
    AuthUserFile /etc/httpd/webpasswd
    require user gaosh
  </Directory>

</VirtualHost>
c. 重启服务

[root@gaosh-1 ~]# service httpd restart

d. 测试

在浏览器输入网址进行测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xinshuzhan/article/details/107637156