linux apache用户密码,Ubuntu下Apache基于用户名/口令简单认证

环境:Ubuntu Linux

这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL 时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给WWW服务器,WWW服务器验证它的正确性,如果正确,返回页面,否则返回401错误。要说明的一点是,这种认证模式是基本的,并不能用于安全性要求极高的场合。

Apache 中有许多模块可以支持这种认证方式,下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样,mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户,它能工作得很好。如果你需要对大量的用户,如数以千计的用户做认证时,这种方法的性能将急剧下降到不可忍受,所以当这种情况下,就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。

实战:需要用户名和口令的访问控制

1、若是开启虚拟主机,则将/etc/apache2/site-enabled/000-default中的块全部注释掉(里面有访问规则,影响配置结果)。没开启虚拟主机的则将/etc/apache2/apache.conf中的Include /etc/apache2/site-enabled/ 注释掉。

2、在httpd.conf(一般为空)中,填入ServerName xxxxx            #(xxxxx为你的服务器名称)

DocumentRoot /xxx/xxx       #(网站根目录的路径)

AccessFileName .htaccess    #(认证的配置文件)

3、建立.htpasswd文档(用于保存用户名和密码)touch /xxx/xxx/.htpasswd

用htpasswd命令建立用户名、密码

htpasswd -c /xxx/xxx/.htpasswd yyy  (yyy为用户名)

接着输入密码,然后确认一遍。添加一个用户完成。如果还有其他用户,则继续用htpasswd命令(注意不加-c,加了则将覆盖前面添加内容)

4、在需要认证的网站根目录下建立.htaccess文档(要和httpd.conf中的DocumentRoot保持一致)

在.htaccess中填入一下内容

AuthName xxxxxxx (在弹出对话框中显示的标题名称)

AuthType Basic

AuthUserFile /xxx/xxx/.htpasswd(路径为.htpasswd的绝对路径)

require user xxx   (xxx为用户名)

如果有不止一个的用户的话,则在第三步再建立个.htgroup文档 并在其中写入ggg:yyy zzz www(ggg为组名;yyy、zzz、www为用户名,要在.htpasswd中有对应的用户名和密码)

在第四步中添加 AuthGroupFile /xxx/xxx/.htgroup

require group ggg (ggg为.htgroup中的组名)

5、配置完毕,重启apache   /etc/init.d/apache2 restart0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值