科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道Apache中实现身份验证和访问控制(2)

Apache中实现身份验证和访问控制(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果只使用一个IP地址或服务器的的第一个名字,你不得不输入两次口令,因为Apache服务器认为请求来自它的FQDN,而不是IP地址或相关的(如部分)DNS名字。

作者:中国IT实验室 2007年8月23日

关键字: Linux 访问控制 Web服务器 Apache服务器 数据库 身份验证

  • 评论
  • 分享微博
  • 分享邮件

  15.打开一个浏览器,如Netscape Navigator或Lynx(一种基于文本的Web浏览器)用来测试工作。你可能希望使用完全资格域名(FQDN),例如,如果使用的FQDN为myserver.mynetwork.com,则输入下列语句:

  lynx myserver.mynetwork.com/acltest

  如果只使用一个IP地址或服务器的的第一个名字,你不得不输入两次口令,因为Apache服务器认为请求来自它的FQDN,而不是IP地址或相关的(如部分)DNS名字。如果想改变这种设置,可以通过在httpd.conf中输入ServerName指令。假设服务器名是student1O,则输入下列语句:

  ServerName myserver

  然后必须重新启动Apacne服务器。因为许多Web浏览器缓存信息,如果有必要,退出并重新启动浏览器以保证能从后台程序读到当前的输出结果。  

  16.检验此目录工作正常后。准备为它建立一个ACL。改变到/acltest目录下:

  cd/acltest/  

  17.用touch命令建立一个隐藏文件,名子为.htacess。这个隐藏文件是此资源的ACL.为执行这个操作,在文件名前使用一个点号:

  touch .htaccess

  必须在htaccess文件前添加一个点号,如果不这样做,就无法建立ACL,因为点号表示建立一个隐藏文件。  

  18.使用vi文本编辑器,打开.htaccess文件。确保文件名前使用了点号,否则,你会打开一个名字为htaccess的新文件,而不是你实际想编辑的隐藏文件.htaccess:

  vi .htaccess  

  19.输入下列代码

  AuthUserFile /apachepasswd/ .htpasswd

  AuthGroupFile /dev/null/

  AuthName "My secret directory"

  AuthType Basic

  require valid-user  

  20.你刚刚建立了一个允许使用ACL的文件。这个被编辑过的文件必须在你所希望限制访问(/acltest)的目录中存在。AuthName语句用于指定文本,帮助用户知道在服务器的什么地方进行验证。现在退出这个文件,确保保存所做的改变。  

  21.下一步,你要建立一个新的用户账号数据库,Apache服务器用它识别验证用户。这个数据库将是ACL,它是与/etc/passwd或/etc/shadow分隔开的用户数据库。第一步,建立数据库所在的目录:

  Mkdir/apachepasswd

  可以给这个目录起任何名字,在这个练习中使用/apache passwd.  

  22.让/apache passwd目录的所有者是名字为apache的用户和名字为apache的组。同样,允许名字为apache的用户对此目录的权限为可读和可执行,如下所示:

  host# chown apache apachepasswd/

  hosttt chgrp apache apachepasswd/

  host# chmod 500 apachepasswd/  

  23.输入下列命令建立用户身份验证数据库。会立即要求你为新用户wennseri设置口令,设置口令为:passwords

  htpasswd -c /apachepasswd/.htpasswdwebuserl

  New password:

  Re-type new password:  

  24.目前,你已经在/apachepasswd目录下建立了一个名为.htpasswd的文件,并用名字为webuseri的用户填充它。你还给这个用户设置了口令。现在,要为这个数据库填充其他用户账号。名字为webuser2、webuser3和webuser4。当创建其他用户时,不能像上面一样使用-C选项。要确保你没有使用向上的箭头键。每次使用htpasswd命令就会建立一个新的账号,然后要求你立刻设置新口令让所有的账号都使用password作为口令:

  host@ htpasswd /apachepasswd/.htpasswd webuser2

  New password:

  Re-type new password:

  再次强调,不要在htpasswd命令后使用-C选项,因为这样做会删掉现有的文件并重建一个新的文件。

  目前,你已经为Apache服务器建立了一个用户账号数据库。

  

  25.现在。从你的X-Window系统使用一个浏览器,如Lynx或Netscape Navigator(或来自于独立的Windows2000系统的浏览器),通过/acltest别名访问/acltest/目录。  

  26.你应该被提示输入口令,如果没有,就要确认是否正确建立了虚拟目录和为.htpasswd文件指定了合适的位置。检查你的.htaccess文件,它应该被隐藏(名字前面应该有个点号)。还应包含第19步中的代码。最后,你要确认使用了FQDN,保证浏览器不是简单地给你缓存中的信息。  

  27.现在,使用下列命令:

  tail /var/log/httpd/access_log

  你应该看到哪些人访问了Weh服务器的纪录。

  (完)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章