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

要想实现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,随便改一个主机名,由于本地主机不是这个主机名,所以会出现下面这个访问页面

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

3、基于用户的访问控制访问

对于某些特定Web页面,我们仅想让某部分人通过密码访问,这就需要用基于用户的访问控制权限

这一项对于httpd-2.4.4可能有问题,我实验了一上午也没有成功,最后找到这篇文章。

换做httpd-2.4.3实现这个功能

首先创建用户

hypasswd -c -m /usr/local/apache/htpasswd tom  (创建了tom用户)

注意:首次创建时需要加-c,第二次添加用户时一定不能加-c

然后输入密码即可


最后修改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 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3f563953f4f350c432419d6bd246534d.html