youdial 发表于 2013-4-9 08:48:53

教你如何实现Apache的用户认证

有时候,我们会有这样一个需求,就是需要让一些文件经过用户账号密码认证后才能进行访问,并且限定某些站点只有固定的用户才能登陆。下边,则对实现认证的步骤进行详细说明:

一、安装httpd软件包,并重启服务(这个就不多说了吧)
二、编辑/etc/httpd/conf/httpd.conf
    在文件中大约330行左右有一行
    “AllowOverridenone” 这个是系统默认的,无控制列表,见附。
   我们这里将none改为AuthConfig参数,并添加以下几行内容,如下:

[*]AllowOverride AuthConfig
[*]AuthTypeBasic                         # 用户认证类型
[*]AuthName"Restricted Site"             # 认证时显示的名字
[*]AuthUserFile/etc/httpd/conf/htpasswd# 认证时用户的账号密码文件
[*]AuthGroupFile/etc/httpd/conf/htgroup#基于组的认证
[*]# Require usertom                   # 只有tom用户才能登录
[*]# Require group myusers             # 允许哪个组中的用户登录
[*]Require valid-user      # 出现在账号密码文件中的用户都能登录
三、创建/etc/httpd/conf/htpasswd文件,及用户
       使用htpasswd命令创建用户,在第一次创建时加-c可创建文件
            # htpasswd -c -m /etc/httpd/conf/htpasswdtom
            # htpasswd -m /etc/httpd/conf/htpasswdjerry

四、创建组文件/etc/httpd/conf/htgroup
      在文件中写入一行


[*]myusers:tomjerry
五、重启服务即可
         # servicehttpdrestart
六、验证(本地IP地址为172.16.13.1)
      可在本地中检验,也可在浏览器中验证。

附:
AllowOverridenone,默认无控制列表,即不使用用户认证,而使用下边的认证机制:基于IP的认证。
    Orderallow,deny --> allow,deny的顺序表示执行其限定的先后次序
    Allowfromall(系统默认允许所有主机登录)
    1、若只允许一台主机登录,则
       Orderallow,deny
       Allowfrom172.16.13.2
    2、若只拒绝某台主机登录,则
       Orderdeny,allow
       Denyfrom172.16.13.3


你的问题解决了吗?很高兴给大家分享我的学习经验。

yangcctv 发表于 2013-4-9 09:00:22

沒有激情的亲吻,哪來床上的翻滾?

fablefe 发表于 2013-5-16 14:56:32

.其实我是一个天才,可惜天妒英才!

civilvar 发表于 2013-5-17 22:31:26

比我有才的都没我帅,比我帅的都没我有才!

bestjoe 发表于 2013-5-19 11:23:29

勃起不是万能的,但不能勃起却是万万都不能的!

喜旎果 发表于 2013-5-20 18:08:46

饭在锅里,我在床上*^_^*

色魔王子7 发表于 2013-5-22 02:54:35

漏洞与补丁齐飞,蓝屏共死机一色!
页: [1]
查看完整版本: 教你如何实现Apache的用户认证