http服务--基于用户的访问控制实现

【前言】

  http,超文本传输协议,是互联网上应用最广泛的一种网络协议,http的发展历史悠久,这篇博主要来说说http的配置文件。

  在centos6上,http默认的版本较低,当然想用新版本可以自己来进行源码编译,这些后面再说,先主要来说一说http的配置文件

http服务--基于用户的访问控制实现_第1张图片
http服务--基于用户的访问控制实现_第2张图片

  http的主配置文件/etc/httpd/conf/httpd.conf ,另外还定义了可以在/etc/httpd/conf.d/ 目录下自定义一些设置,这样可以避免直接修改配置,防止出错。

1、启动httpd服务

http服务--基于用户的访问控制实现_第3张图片

  在启动服务时,会发现出现上面这样的提示,虽然启动服务仍然成功,但是对于强迫症的人来说,看到难免不爽。那这个问题很容易解决,修改配置文件喽:

http服务--基于用户的访问控制实现_第4张图片

再次重启服务就没有提示啦~~~

这里写图片描述

【基于用户的访问控制】

  在默认的http服务启动状态下,我们可以通过ip地址来访问的,默认的站点目录位于/var/www/html/ ,在这个目录下,后缀为HTML的文件默认就可以访问。那么问题来说,在这个目录下,有些网页并不是很想所有人都看到,希望实现一种加密的效果,一部人可以通过账号,密码登陆来查看文件,没有权限的人只能打酱油,那么就可以对配置文件进行设置,实现基于用户的访问控制。

1、centos6主机上创建HTML文件。

http服务--基于用户的访问控制实现_第5张图片

http服务--基于用户的访问控制实现_第6张图片

2、为了方便,在/etc/httpd/conf.d/ 下自定义配置文件。

http服务--基于用户的访问控制实现_第7张图片

  authname ” string” —> 该字符串显示在网页访问时输入用户密码的对话框之上

  authtype basic —> 定义验证模块类型

  authuserfile “/userpath” —> 密码文件的存放地址

  require user username1 username2 —> 设置哪些用户生效

3、创建密码文件的方式有两种,一种的手动创建,当然创建的是明文密码,安全性不够;另一种是使用 htpasswd 命令生成,这个工具有一些选项:

选项 注释
-c 自动创建文件,仅应该在文件不存在时使用(初建时使用-c,再次创建不取消该选项则会覆盖之前内容)
-m md5格式加密
-s sha格式加密
-D 删除指定用户

http服务--基于用户的访问控制实现_第8张图片

这里写图片描述

4、设置完成以后,可以使用crul命令访问:

状态码200:表示主站点目录可以正常访问

http服务--基于用户的访问控制实现_第9张图片

状态码401:表示需要输入账号和密码认证方能访问资源

这里写图片描述

5、使用访问访问可以直观的查看:

http服务--基于用户的访问控制实现_第10张图片

http服务--基于用户的访问控制实现_第11张图片

输入正确的账号密码后才可以访问/var/www/html/private 目录下的文件:

这里写图片描述

http服务--基于用户的访问控制实现_第12张图片

输入未允许的用户账号密码登陆也是失败的:

这里写图片描述

  既然可以设置单用户的访问控制,那么为了设置方便,我们也可以设置组账号来进行统一管理,方法大同小异:

在上述配置文件中加上一行authgroupfile :

http服务--基于用户的访问控制实现_第13张图片

创建组账号文件:

http服务--基于用户的访问控制实现_第14张图片

通过网页访问:

http服务--基于用户的访问控制实现_第15张图片

http服务--基于用户的访问控制实现_第16张图片

http服务--基于用户的访问控制实现_第17张图片

基于用户的访问控制就实现了。

你可能感兴趣的:(linux,httpd)