|
|
|
|
移动端

8.4.6 多种用户认证方式配置(1)

《Linux服务器配置全程实录》第8章配置Web服务器,在本章中将介绍通过Apache配置HTTP、HTTPS、WebDAV、反向代理、安全配置、多种用户认证方式、虚拟主机,JSP环境搭建,LAMP环境搭建以及使用Lighttpd实现HTTP、HTTPS、虚拟主机等的相关内容。本节为大家介绍多种用户认证方式配置。

作者:张勤/杨章明来源:人民邮电出版社|2011-08-11 09:08

有奖调研 | 1TB硬盘等你拿 AI+区块链的发展趋势及应用调研


8.4.6  多种用户认证方式配置(1)
(包含20分钟操作录像)

在Apache是默认情况下,允许客户端通过匿名访问。Apache可以实现基本身份验证(使用明文方式传输密码)和摘要式身份验证(使用Hash算法传送密码)。由于基本身份验证有良好的支持,所以本章主要介绍基本身份验证,至于基本身份验证的安全性可通过8.4.7节所述的方法保护。

使用基本身份验证时,认证用户来源可以是htpasswd工具生成的密码文件、LDAP服务器(具体见12.7.2节)、MySQL、微软活动目录等。

1.使用htpasswd工具生成的密码文件认证用户来源

使用htpasswd工具生成密码文件认证用户来源的配置方法如下。

(1)使用htpasswd命令生成用户名及密码(这里的用户名及密码与系统用户名及密码没有任何关系)。

  1. htpasswd -cm /etc/httpd/.webusers tonyzhang ①  
  2. htpasswd -m /etc/httpd/.webusers tomyang      ② 

其中各行含义如下。

①:创建一个保存用户名及密码的文件(/etc/httpd/.webusers),并在其中增加一个名为tonyzhang的用户,使用MD5算法加密密码。

②:在已存在的用户名及密码文件(/etc/httpd/.webusers)中增加一个名为tomyang的用户,使用MD5算法加密密码。

修改现有用户的密码使用-m参数,如下面的例子中修改已经存在于/etc/httpd/.webusers文件名中名为tonyzhang用户的密码。

  1. htpasswd -m /etc/httpd/.webusers tonyzhang 

删除存在用户使用-D参数,如下面的例子中删除一个已经存在于/etc/httpd/.webusers文件中名为tonyzhang的用户。

  1. htpasswd -D /etc/httpd/.webusers tonyzhang 

(2)对指定子目录或文件使用基本身份验证。

  1. NameVirtualHost 192.168.0.10:80  
  2. <VirtualHost 192.168.0.10:80> 
  3.       DocumentRoot /var/site/bbs.example.com  
  4.       ServerName bbs.example.com  
  5.  
  6.       <Directory /var/site/bbs.example.com> ①  
  7.           AuthName TestAuth                     ②  
  8.           AuthType Basic                        ③  
  9.           AuthUserFile /etc/httpd/.webusers ④  
  10.           Require valid-user                ⑤  
  11.       </Directory> 
  12.  
  13. </VirtualHost> 
  14.  
  15. <VirtualHost 192.168.0.10:80> 
  16.       DocumentRoot /var/site/blog.example.com  
  17.       ServerName blog.example.com  
  18.  
  19.       <Directory /var/site/blog.example.com>    ⑥  
  20.           AuthName Test Auth                    ⑦  
  21.           AuthType Basic                        ⑧  
  22.           AuthUserFile /etc/httpd/.webusers ⑨  
  23.           Require User tonyzhang tomyang            ⑩  
  24.       </Directory> 
  25.  
  26. </VirtualHost> 

其中各行含义如下。

①:对/var/site/bbs.example.com目录进行配置。

②、⑦:指定了使用认证的域(Realm),该认证域会出现在显示给用户的密码提问对话框中,也可以帮助某些客户端程序确定应该发送哪个密码。要求输入用户名及密码对话框的提示信息,如图8-21所示。

③、⑧:指定使用基本身份验证。

④、⑨:指定保存用户名及密码的文件。

⑤:指定④中指定文件中的所有用户均可以访问该目录。

⑥:对/var/site/blog.example.com目录进行配置。

⑩:指定⑨中指定文件中只有tonyzhang、tomyang可以访问该目录。

 
图8-21  AuthName
如果认证用户较多时,可以通过建立一个分组文件将htpasswd命令生成用户名及密码保存文件中的用户进行分组。在图8-22所示的例子中在/etc/httpd/目录下建立了一个名为.webgroup的分组文件,为davidxu、janeli用户建立一个名为hr的分组,为mideliu、billwang建立一个名为marketing的组。
 
图8-22  建立分组

  1. NameVirtualHost 192.168.0.10:80  
  2. <VirtualHost 192.168.0.10:80> 
  3.     DocumentRoot /var/site/bbs.example.com  
  4.     ServerName bbs.example.com  
  5.  
  6.     <Directory /var/site/bbs.example.com> 
  7.  
  8.         AuthName Test Auth  
  9.         AuthType Basic  
  10.  
  11.         AuthUserFile /etc/httpd/.webusers  
  12.         Require User tonyzhang  
  13.         AuthGroupFile /etc/httpd/.webgroup      ①  
  14.         Require Group hr                            ②  
  15.  
  16.     </Directory> 
  17.  
  18. </VirtualHost> 
  19.  
  20. <VirtualHost 192.168.0.10:80> 
  21.     DocumentRoot /var/site/blog.example.com  
  22.     ServerName blog.example.com  
  23. </VirtualHost> 
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

程序员教程(第2版)

本书按照人事部、信息产业部全国计算机技术与软件专业技术资格(水平)考试程序员考试大纲编写,是对2004版的修订版,内容包括计算机系统、...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊