为了更好的控制网站资源(网页)的访问,可以为特定的网站目录添加访问授权,访问控制应用于配置文件中的目录区域 <Directory>……</Directory>。。
- 客户机地址限制
- 用户授权限制
一:客户机地址限制
通过Require配置项,可以根据主机的主机名或IP 地址来九鼎是否允许客户端访httpd服务器的主配置文件httpd.conf中的<Location>、<Directory>、<Files>、<Limit>配置段中均可使用。Require配置项来控制客户端的访问。使用Require配置项时,地址的形式可以是IP地址,网络地址,主机名或域名,使用all表示任意地址。
1:限制策略的格式:
Require all granted:表示允许所有主机访问
Require all denied:表示拒绝所有主机访问
Require local:表示仅允许本地主机访问
Require [not] host <主机名或域名列表>:表示允许或拒绝指定主机或域名访问
Require [not] ip <IP地址或网段列表>:表示允许或拒绝指定的IP地址或网段访问
默认情况下,网络服务器是对所有客户机开放的,网页文档目标并未做任何限制。
(1):仅允许192.168.100.3主机访问
《1》:vim /etc/local/httpd/conf/httpd.conf #编辑配置文件
《2》:找到htdocs 文件,将Require all granted 注释了
《3》:在上面写上:Require ip 192.168.100.3
elinks :inux中自带的命令,也就是自带的浏览器
如果出现未找到命令,及说明没有安装包,用yum安装一个即可
《4》:yum -y install elinks
《5》:elinks --dump http://192.168.100.10 #用Linux自带的浏览器访问
《6》:systemctl restart httpd #重启服务
《7》: elinks --dump http://192.168.100.10 (因为允许的时候没有允许100.10 所以他是失败的)
(2):仅拒绝192.168.100.3主机访问
《1》:vim /etc/local/httpd/conf/httpd.conf 编辑配置文件
《2》:找到htdocs 文件,将Require all granted 注释了
《3》:上面写上:
<RequireALL>
Require all granted
Require not ip 192.168.100.3
</RequireAll>
《4》:systemctl restart httpd #重启服务
《5》:elinks --dump http://192.168.100.10
二:用户授权限制
用户授权限制是apache允许指定用户使用用户名和密码访问特定资源的一种方式。
- 摘要认证(Digest) 在配置时加上 --enable-auth-digest(部分浏览器不支持)
- 基本认证(Basic) apache服务的基本功能,不需要额外的选项支持
1:用户访问控制过程:
认证 识别用户身份
授权 允许用户访问特定目录区域
(1):创建用户认证数据文件
httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问,授权访问的用户账号需要事先简历,并保存固定的数据文件
《1》:htpasswd -c /usr/local/conf/ .usr admin #htpasswd :是安装Apache后自带的,创建用户
注意:只有在第一次创建文件时使用-c选项,后期添加用户时不能使用,否则前期创建的用户将会被覆盖
《2》:cat /usr/local/httpd/conf/.user #查看密文密码
《3》:vim /usr/local/httpd/conf/httpd.conf #修改主配置文件
《4》:在文件中写入:
AuthName "Apache Authd" #定义授权名称
AuthType Basic #定义认证的类型
AuthUserFile "/usr/local/httpd/conf/.user" #设置用户账户信息文件
Require valid-user #只有认证文件中合法的用户才可访问,
《5》:systemctl restart httpd #重启服务
《6》:访问,输入用户名和密码