阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下Apache对Web页面的访问控制权限设置

164次阅读
没有评论

共计 2572 个字符,预计需要花费 7 分钟才能阅读完成。

本文的 httpd 版本号为 httpd-2.4.4,事先关闭防火墙和 selinux。

要想实现 Linux 下 apache 对 Web 页面的访问控制权限设置,主要需要修改的是 /etc/httpd/httpd.conf 这个文件
切记:一旦修改 /etc/httpd/httpd.conf 必须重启 httpd 服务,否则不能生效。(后面一旦修改文件自行重启,我们将不在提到这部分)
我们主要修改 /etc/httpd/httpd.conf 里的这一部分内容
DocumentRoot “/usr/local/apache/htdocs”
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
 
本机的 ip 地址为 192.168.109.1,虚拟机的 ip 地址为 192.168.109.40
Require all granted:允许所有主机访问
Require all deny:拒绝所有主机访问
1、基于 ip 的访问控制访问
要想实现基于 ip 的访问控制权限,只需将 Require all granted 修改为 Require ip ip 地址。
例如:
现在我们想要 192.168.109.4 这个 ip 地址访问,其余都不可以访问只需要 Require all granted 修改为 Require ip 192.168.109.4,我们用主机访问 web 页面时就会出现下图的情况表示 192.168.109.1 这个 ip 没有访问权限。
Linux 下 Apache 对 Web 页面的访问控制权限设置
现在我们想让主机也有访问权限,再加一句 Require ip 192.168.109.1 即可。如下图
Linux 下 Apache 对 Web 页面的访问控制权限设置
2、基于主机名的访问控制访问
由于我们没有 DNS 服务器,所以需要实现实现本地解析。具体做法是:编辑 /etc/hosts 文件。
我们主机的 ip 地址是 192.168.109.1,主机名为 HXK-PC,把这行内容加进去,如下面图片:
Linux 下 Apache 对 Web 页面的访问控制权限设置
然后修改 Require all granted 修改为 Require host HXK-PC 即可。
例子:
DocumentRoot “/usr/local/apache/htdocs”
 
    Options Indexes FollowSymLinks
    AllowOverride None
    Require host HXK-PC
 
Linux 下 Apache 对 Web 页面的访问控制权限设置
如果 Require host HXK-PC,随便改一个主机名 www.a.com,由于本地主机不是这个主机名,所以会出现下面这个访问页面
Linux 下 Apache 对 Web 页面的访问控制权限设置
3、基于用户的访问控制访问
对于某些特定 Web 页面,我们仅想让某部分人通过密码访问,这就需要用基于用户的访问控制权限
这一项对于 httpd-2.4.4 可能有问题,我实验了一上午也没有成功,最后找到 http://stackoverflow.com/questions/15751242/apache-2-4-authentication-failure-password-mismatch 这篇文章。
换做 httpd-2.4.3 实现这个功能
首先创建用户
hypasswd -c -m /usr/local/apache/htpasswd tom  (创建了 tom 用户)
注意:首次创建时需要加 -c,第二次添加用户时一定不能加 -c
然后输入密码即可
Linux 下 Apache 对 Web 页面的访问控制权限设置
最后修改 httpd.conf 这个配置文件
DocumentRoot “/usr/local/apache/htdocs”
    Options Indexes FollowSymLinks
      AllowOverride AuthConfig
     AuthType Basic
     AuthName “Restricted Files”
     AuthUserFile /usr/local/apache/htpasswd
     Require valid-user
 
需要说明一下:AuthUserFile 的路径就是刚才创建用户的路径。
如果使用  Require valid-user 表示用户文件里的所用户用都可以登录。
Require user tom 表示只要刚才创建文件里的 tom 用户可以登录。
Linux 下 Apache 对 Web 页面的访问控制权限设置
如图输入密码就可以访问。
4、基于组的访问控制访问
在 3 的前提下,在创建一个用户
htpasswd -m /usr/local/apache/htpasswd jerry
因为是基于组的,所以创建组
vim /usr/local/apache/groups,然后添加组名为 mygroup:tom jerry
最后修改配置文件
DocumentRoot “/usr/local/apache/htdocs”
    Options Indexes FollowSymLinks
      AllowOverride AuthConfig
     AuthType Basic
     AuthName “Restricted Files”
     AuthUserFile /usr/local/apache/htpasswd
     AuthGroupFile /usr/local/apache/groups
     Require group mygroup 

Ubuntu Server 14.04 安装 Web 服务器 (Linux+Apache+MySQL+PHP)  http://www.linuxidc.com/Linux/2015-06/119061.htm

Linux 下安装配置 PHP 环境 (Apache2)  http://www.linuxidc.com/Linux/2015-05/118062.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

Apache 的详细介绍 :请点这里
Apache 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-04/130392.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2572字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中