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

【前言】

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

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

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

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

1、启动httpd服务

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

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

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

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

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

【基于用户的访问控制】

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

创建组账号文件:

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

通过网页访问:

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

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

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

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