频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

FreeBSD基于用户的访问控制

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组

  为了弥补安全性的缺点,可以将AuthType设置为Digest,这样就会使用Digest鉴别方式进行认证,此时认证口令文件要使用AuthDigestFile来规定,而口令文件必须使用另一个加密程序htdigest 产生和维护,而hdigest的使用方法和htpasswd相同。

在Digest认证方式下,浏览器不会直接发送口令的明文信息,而是在传输口令之前先使用MD5算法进行编码处理。注意,不是所有类型的浏览器都支持Digest类型的鉴别方式的,只有在浏览器和服务器同时都支持Digest方式时,这种认证才可行。

  AuthType为Basic时,是使用系统加密方法,一般是使用DES算法,但在FreeBSD下有可能是使用的MD5算法,但除非管理员希望在不同系统间共享口令文件,否则不必考虑他们使用的到底是何种算法。需要与其他系统兼容时,可以重新安装DES算法。但在系统使用时重新安装加密算法,就无法重建整个口令文件,因此不推荐在系统使用过程中更换认证算法,而应该在系统安装时就确定使用的认证算法。

  为了减少用户数量较多时服务器的处理开销,就必须使用数据库技术,这是因为数据库使用了索引技术,对数据的查找就比较快速。Unix下最简单的数据库为使用系统提供的DB(或DBM)库进行创建数据库文件的技术,Apache 服务器中使用模块mod_auth_db.so对这种数据库口令文件提供支持。htpasswd产生的文本文件在有几百个用户时就会花费相当大的服务器开销,而DBM格式的认证方式可以高效的支持上万个用户。

  BSD风格的Unix系统通常使用DB库,而其他Unix通常使用DBM库。因此其他Unix使用的命令和设置中应该为dbm而非db。

  为了支持这种认证方式,应载入mod_auth_db.so模块,使用Ports Collection安装的Apache服务器缺省情况就支持这个模块而不需要改动。可以让Apache同时支持多种认证方式,而不会发生冲突。

  此外,配置文件中的认证方式也需要改变,首先要创建数据库文件,这会在通过使用dbmmanage命令第一次增加用户时创建。

# dbmmanage /usr/local/etc/users adduser user1 pass123

  这个命令将创建/usr/local/etc/usersdbm数据库文件,并使用pass123为口令在数据库中增加用户user1。然后就可以针对现有的数据库文件,增加、删除和查看用户信息了:

# dbmmanage /usr/local/etc/httpd/usersdbm delete user2
# dbmmanage /usr/local/etc/httpd/usersdbm view

  在拥有了数据库文件和用户数据之后,就可以使用这种认证方式了:

AuthName DBMTest
AuthType Basic
AuthDBUserFile /usr/local/etc/usersdbm
require valid-user

  可以使用dbmmanage命令也可以用来管理组,例如将user1加入group1组,但必须添加用户的同时进行设置,需要使用dhmmanage的另一个参数:

观看地址: http://www.qqread.com/freebsd/s348201.html 更多文章 更多内容请看访问控制列表(ACL)介绍访问控制列表FreeBSD系统安全管理专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章