因此一般使用与系统口令相分离的口令文件来认证Web服务器用户,这样即使口令被泄露,并被破译,造成的安全影响也很小,不至于影响系统的正常运行。可以使用Apache附带的htpasswd命令来创建口令文件,并设置用户及其口令。
$ htpasswd -c .htpasswd user1
Adding Password for user1
New password:
Re-type new password:htpasswd的-c选项告诉htpasswd创建一个新口令文件为.htpasswd,如果没有这个选项,htpasswd就将用户及其口令加入已经存在的口令文件中。此后的参数就是口令文件名和需要增加或改变口令的用户名。
为了便于管理,可以进一步将这些用户分组,组文件的每一行定义了一个组及其成员的名字,然后在.htaccess 中使用AuthGroupFile指定这个目录使用的组文件的名字,例如:
group1: user1 user2 user3 user4这条内容创建了一个口令组group1,包括user1,user2,user3,user4成员。
除了可以使用require valid-user要求输入的用户必须为口令文件中的合法用户之外,也可以设置要求只有特定的合法用户才能访问的目录,这就需要使用require user或require group指令。例如使用require user user1要求只有user1用户才能访问,使用require group g roup1就要求必须是group1组的合法成员才能访问。针对具体用户和组的访问控制就进一步增加了访问控制的灵活性。
当基于用户的认证和基于地址的认证综合使用时,可以通过使用satify参数指定不同的限制条件,如果设置 satify all,那么必须同时通过用户和地址认证才能访问网页,而设置satify any,只需要通过一个认证客户就能访问这个目录了。缺省情况下Satify参数的值为all。下面为一个综合了地址认证和用户认证的.htaccess 的例子,这个例子允许private.site的计算机可以不需认证访问这台服务器,而其他位置的用户必须是 group1组中的合法用户,或者是user1、user2、user3用户,才能访问这台服务器。
AuthUserFile /usr/local/etc/.htpasswd
AuthGroupFile /usr/local/etc/.htgroup
AuthName SecurityAuth
AuthType Basic
<Limit HEAD GET POST>
order deny,allow
deny from all
allow from private.site
require group group1
require user user1 user2 user3
</Limit>
satify any
- 其他认证方式
Apache使用AuthType指定加密的方式,AuthType设为Basic时为使用命令htpasswd 创建口令文件并进行口令加密。然而这种方式有两个缺点,一个为浏览器将在Internet上使用明文发送用户名和口令信息,另一个是htpasswd的口令文件为普通文本文件,这样当用户数目较多时,查找用户的效率就很低。
本文:http://www.qqread.com/freebsd/s348201.html相关专题
- 访问控制列表(ACL)介绍 (181篇文章)
- 访问控制列表 (124篇文章)
- FreeBSD系统安全管理 (8828篇文章)
- FreeBSD使用教程 (6592篇文章)
- Freebsd频道 (698篇文章)
- FreeBSD系统安装与配置之准备篇 (1753次浏览)
- FreeBSD入门安装及汉化 (1472次浏览)
- FreeBSD下安装GNOME桌面 (971次浏览)
- FreeBSD 5.0硬盘安装指南 (707次浏览)
- freebsd5.2.1上安装vmware 3.2.1 (610次浏览)
- FreeBSD 5.1安装VMware全部过程 (571次浏览)
- FreeBSD连载(72):设置和使用DHCP (563次浏览)
- 使用FreeBSD的原因 (506次浏览)
- FreeBSD系统终极安装手册(图) (474次浏览)
- FreeBSD5.3下安装Apache+PHP+MySQL+Tomcat (453次浏览)



