扫一扫
关注微信公众号

使用Kerberos实现统一认证(二)(1)
2008-03-27   

使用一个经过验证的、可靠的、统一的目录控制管理谁能登陆到什么地方。认证是一个判断实体X是否可以访问资源Y的过程,判断X的身份是认证过程的工作,在计算机网络环境下的认证任务之一就是定义和判断哪个用户可以访问网络中哪台计算机,一个简单的样本就是/etc/passwd文件中的一行(如joe:X:1234:56:/home/joe:/bin/bash),它允许用户joe访问这台计算机。如果你想让joe访问其他计算机,你就要将这行添加到其他计算机上的/etc/passwd文件中去。

在Linux上,趋向于给每个单独的用户创建一个本地账号,允许他们登陆到该计算机。这很有代表性,因为一个用户不仅需要登陆权限,而且需要访问其他资源的权限,如一个home目录,在每台计算机上创建本地账号时都要处理这些内容。

使用本地账号的问题是这些账号彼此不能保持一致。在不同的计算机上相同的用户名具有不同的用户ID和/或组ID,更麻烦的是在不同的计算机上两个不同的账号共享相同的用户ID和组ID,用户joe在计算机1上的用户ID是1234,组ID是56,用户jane在计算机2上有相同的用户ID 1234和组ID 56。在使用共享资源时有巨大的安全风险。这两个不同的账号有同一个NFS服务器,因此这些用户可以彻底摧毁其他人的文件。

解决这个不一致性问题的方案是使用唯一一个集中的、校验的数据源,你所有的计算机通过访问集中数据源的方式来得到这种信息。 这正好是目录服务所做的事情。两种目录服务大都用于集中校验数据。一种是网络信息服务(NIS,以前被称作黄页或简称yp),一种是轻量级别目录访问协议(LDAP)。

NIS对LDAP

当决定使用哪个目录服务(NIS还是LDAP?)时需要考虑几个事情,如果你的公司已经有一个LDAP服务器,看起来向它里面添加数据非常简单,通常启用的LDAP服务器被用于白页和类似非常轻量级的任务,添加认证任务就给LDAP服务器添加有效负载,因为为每一个单独的用户名、UID、GID等进行检索时,程序需要一一解答,添加一台额外的LDAP服务器专门用于认证通常很有意义,同时,对于大量的不同种类的目录查询,要获得性能调整到良好的程度相当艰难,你需要添加所有必须的LDAP索引定义到你的slapd.conf文件中,以提升常用查询的性能,但是你不应该添加太多的索引定义,这样会使LDAP后端数据库文件非常大,做任何事情都会再次变慢。

LDAP是那些有丢弃UDP数据包问题的网络的最佳选择,因为它使用TCP/IP协议,中继是被内置在网络协议层中的。相反,NIS使用基于UDP的远程过程调用(RPC)。每一个丢弃的数据包导致一个无回答的NIS查询,NIS客户端需要重复这些查询,在你网络上的不同机器不同时间使用netstat –s –u命令来查看你网络遭受的这个问题,通过这个命令,你应该会看到非常少的错误报告。

本文将详细介绍NIS,因为在出现问题时它更容易迁移到LDAP,PADL Software Pty公司提供了一套开源的工具来帮助你完成从NIS数据文件到LDAP的转换(看后面资源),你仍然需要做性能调整,但是,如果你想从LDAP迁移到NIS你得自己写迁移工具。


共6页: 1 [2] [3] [4] [5] [6] 下一页
 第 1 页:  第 2 页:配置NIS服务器
 第 3 页:从服务器配置  第 4 页:客户端配置
 第 5 页:NIS组映射  第 6 页:用户网络组

热词搜索:

上一篇:使用Kerberos5实现统一认证(一)(1)
下一篇:用Cryptmount保护文件系统和交换空间(1)

分享到: 收藏