您的位置: 旅游网 > 图库 >> 影视剧照

基于用户的访问控制技术文摘呢

发布时间:2021-10-29 05:43:19

更严格、有效的控制方法还是基于用户和对应的口令对浏览客户进行控制。这使得对这个目录进行强制性的保护,浏览器用户必须输入合法的用户名和正确的口令才能浏览页。如果要针对用户对访问服务器的客户进行控制,首先就要设置访问控制文件为对用户进行认证,因此要允许目录访问控制文件中具备 AuthConfig的设置。

设置用户认证需要为这个目录指定AuthName、AuthType和AuthUserFile 指令,AuthUserFile定义一个口令文件,那么此后就可以使用require valid-user命令让客户输入名字和正确的口令,根据这个口令文件对用户的身份进行验证。AuthName定义这个认证的标识,用于返回给浏览器用户,起到提示作用。AuthType定义使用的认证加密类型,通常使用 Basic,即使用Unix的标准加密算法进行加密。

AuthUserFile /usr/local/etc/htpasswdAuthName SecurityAuthAuthType Basicrequire vaild-user

这个例子里,使用/usr/local/etc/htpasswd作口令文件,使用Basic的加密认证方法,并定义AuthName为SecurityAuth。

虽然浏览器访问每个使用这种认证方式保护的页都需要先进行认证,然而不会每访问一次页都让用户输入用户名和口令,因为浏览器会将用户输入的用户和口令数据保存起来,每次需要认证的时候就自动进行认证操作。由于认证是通过H EAD请求来完成的,因此它不会影响浏览器显示的页。然而,用户有可能使用浏览器访问了多个不同的对用户进行认证的页,那么浏览器就会保存了多个不同的用户和口令对,当自动进行认证的时候,浏览器必须区分出应该使用哪个用户名和口令进行认证,而区分就是通过AuthName的值进行的,服务器将首先将 AuthName的值传递给客户浏览器,此后浏览器就能发送正确的用户和口令进行认证了。

要使用口令文件来认证合法用户,首先就必须生成这个口令文件。当认证类型为Basic时,口令文件与Unix 的passwd文件非常类似,甚至可以直接使用系统passwd文件来作认证文件,当然由于现代Unix使用了sha dow技术,/etc/passwd中并没有保存真实的加密口令,因此直接使用系统passwd文件进行认证只能适合那些没有使用shadow技术的 Unix系统。而使用shadow技术的Unix系统的真实口令文件(FreeBSD 下为sswd)被保护起来,读取它需要root权限,而Web服务器通常以普通用户的权限运行,不能直接使用系统口令对用户进行认证。如果强制使用root权限启动httpd守护进程来访问shadow之后的口令,那么必然会带来严重的安全漏洞。

因此一般使用与系统口令相分离的口令文件来认证Web服务器用户,这样即使口令被泄露,并被破译,造成的安全影响也很小,不至于影响系统的正常运行。可以使用Apache附带的htpasswd命令来创建口令文件,并设置用户及其口令。

$ htpasswd -c .htpasswd user1Adding Password for user1New password:Re-type new password:

引起轰动。那也是前苏联航空工业最后的辉煌。而且据说F-117的隐形原理就是源自一篇前苏联科学家的技术论文。 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 的例子,这个例子允许te的计算机可以不需认证访问这台服务器,而其他位置的用户必须是 group1组中的合法用户,或者是user1、user2、user3用户,才能访问这台服务器。

AuthUserFile /usr/local/etc/.htpasswdAuthGroupFile /usr/local/etc/.htgroupAuthName SecurityAuthAuthType BasicLimit HEAD GET POSTorder deny,allowdeny from allallow from terequire group group1require user user1 user2 user3/Limitsatify any

母婴医药资讯
西宁治疗早泄费用
小孩积食怎么调理脾胃
猜你会喜欢的
猜你会喜欢的