Linux下Apache服务器网页密码设置过程问题及解决方法

来源:互联网 发布:腾讯操盘手软件 编辑:程序博客网 时间:2024/06/14 08:14

      网上找到了许多关于这方面的文章,内容基本相同。经过实践,发现内容里普遍存在问题。以下是自己实践之后,修改了其中的错误,并记录下来的笔记。

      在 Linux 或 UNIX 下的 Apache 服务器中给网页设置密码—这是一种很简单的基于用户名/口令的认证方式,当我们在浏览器中访问经此认证模式保护的URL链接时,将会出弹出一个对话框,要求用户键入用户名和口令。用户输入后,传给Apache服务器,Apache服务器验证它的正确性,如果正确,显示页面,否则出现401错误(没有权限)。这是怎么实现的呢?

      实例一:需要用户名和口令的访问控制,限制 WWW 服务器中 /home/httpd/html/backup/ 目录中网站 www.britepic.org 页面的访问,只允许用户“user1”以口令“passwd1”访问页面。

基本情况:假设www.britepic.org 站点Apache服务器中的httpd.conf文件有设置为:

  DocumentRoot /home/httpd/html

  AccessFileName .htaccess

  AllowOverride All

实现步骤:

  1.使用htpasswd建立用户文件:

  $ htpasswd -c /home/httpd/secr/.htpasswd user1

  此程序会询问用户“user1”的口令,你输入“passwd1”,两次生效。

  2.建立.htaccess文件

  用“vi /home/httpd/html/backup/.htaccess”命令建立.htaccess文件,并写入以下几行:

  AuthName "My Friend Only" (注:这个名字是任取的,并且必须有双引号)

  AuthType Basic

  AuthUserFile /home/httpd/secr/.htpasswd

  require valid-user

  最后设置文件.htpasswd和.htaccess的文件权限,确保Apache用户有读的权限这样就完成了网页密码设置的工作,现在你可以在浏览器中试一试效果了。

实例二:允许一组用户访问一个目录。例如现在www.britepic.org站点想让myfriend

  组中的m1与m2两个用户分别能使用口令“m1pass”和“m2pass”访问/home/httpd/html/

  backup/目录中的页面。

实现步骤:

  1.使用htpasswd建立用户文件,并在提示信息分别输入m1与m2两个用户的口令“m1pass”和“m2pass”:

  htpasswd -c /home/httpd/secr/.htpasswd m1

  htpasswd -c /home/httpd/secr/.htpasswd m2

  2.建立组文件,用“vi /home/httpd/secr/.htgroup”命令建立.htgroup文件,并写入下面一行:

  myfriend:m1 m2

  3.建立.htaccess文件,用“vi /home/httpd/html/backup/.htaccess”命令,并写入以下几行:

  AuthName "My Friend Only"

  AuthType Basic

  AuthUserFile /home/httpd/secr/.h

原创粉丝点击