内容摘要:使用一个经过验证的、可靠的、统一的目录控制管理谁能登陆到什么地方。认证是一个判断实体X是否可以访问资源Y的过程,判断X的身份是认证过程的工作,在计算机网络环境下的认证任务之一就是定义和判断哪个用户可以访问网络中哪台计算机.....
使用一个经过验证的、可靠的、统一的目录控制管理谁能登陆到什么地方。认证是一个判断实体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后端数据库文件非常大,做任何事情都会再次变慢。
来源:51CTO 作者:Alf Wachsmann 责编:豆豆技术应用
- Linux系统配置VI或VIM的技巧
- 主流开源数据库的技术特点点评
- 开源数据库的关键是兼容
- 刀片服务器硬盘启动Linux独立安装
- Shell编程:Linux系统环境程序设计之路
- 网上“晒”病毒 “磁碟机”详尽分析报告
- 大型电子攻击将成为未来企业新的威胁
- 使用Kerberos实现统一认证(二)
- 使用Kerberos5实现统一认证(一)
- 用Cryptmount保护文件系统和交换空间