简介
轻量级目录访问协议 (Lightweight Directory Access Protocol,LDAP) 是一个轻量级的客户机-服务器协议,用于访问目录服务,尤其是那些基于 X.500 的服务。IBM Directory Server 是一个实现 LDAP 协议的成熟产品。
近来流行的 Linux 提供了一些系统用户验证方法,包括本地文件、NIS、LDAP 和 PAM 机制。Linux 可以为不同的服务使用不同的验证方法。本文介绍了如何使用 IBM Directory Server 进行 Linux 用户验证。我没有在文中介绍相关的概念; 参考资料 中有相关的背景资料。
我要管理的 Linux 系统为 RedHat Linux 7.3,LDAP 服务器是 IBM Directory Server 5.1。如果需要,请参考 RedHat 和 IBM 的网站提供的 Linux 和 Directory Server 5.1 安装说明。
配置 Directory Server 5.1 服务器
在使用 Directory Server 来存储您的 Linux 系统用户信息之前,您需要先计划您的系统用户结构。例如,我将 Directory Server 5.1 服务器安装在一个单独的 Windows 2000 服务器上,计划了如下的系统用户结构:
|
使用以下步骤来构建这个结构:
- 添加后缀。停止 Directory Server 服务器,然后使用 ldapxcfg 添加一个新的后缀: o=ibm,c=cn ,参见 图 1
图 1. 添加一个新后缀
点击查看大图
- 导入 LDAP Data Interchange Format (LDIF) 文件,以及基本结构。编辑 LDIF 文件,它定义了根专有名称 (distinguished name,DN) 和基本结构 DN,如下所示。
version: 1
dn: o=IBM,c=CN
objectclass: top
objectclass: organization
o: ibm
dn: ou=CSDL,o=ibm,c=cn
ou: CSDL
objectclass: organizationalUnit
objectclass: top
description: China Software Development Lab
businessCategory: R&D
dn: ou=GCL,ou=CSDL,o=ibm,c=cn
ou: GCL
objectclass: organizationalUnit
objectclass: top
description: Globalization Certification Lab
使用 ldapxcfg 导入 LDIF,参见 图 2。
图 2.
- 使用 Web 工具 ldif2db 来添加用户。创建一个新用户条目有两种不同的方法:
- Web 工具
- Directory Server 5.1 提供了一个 Web 应用程序,可以部署到特定的应用程序服务器上。它默认使用 WebSphere Application Server 5.0 express。这个工具为用户提供了一个友好的界面来帮您管理 LDAP 信息。
- 命令行工具
- 使用 ldif2db 来导入条目。例如,
ldif2db -i oneEntry.ldif
下面的这个例子介绍了如何使用命令工具来添加一个新用户。
#oneEntry.ldif
dn: uid=user1,ou=GCL,ou=CSDL,o=ibm,c=cn
loginShell: /bin/bash
memberUid: 900
gidNumber: 800
objectclass: posixGroup
objectclass: top
objectclass: posixAccount
objectclass: shadowAccount
uid: user1
uidNumber: 900
cn: user1
description: One user of system
homeDirectory: /home/user1
userpassword: password
ownerpropagate: TRUE
entryowner: access-id:UID=USER1,OU=GCL,OU=CSDL,O=IBM,C=CN
对于 Linux 用户信息,对象类应该是 posixAccount 。将本条目的 entryowner 设置为用户“自己”,这样用户就可以修改密码。要了解更多关于 Directory Server ACL 的信息,请阅读 Directory Server 文档。
- Web 工具
添加用户完成后,启动 Directory Server 服务器来开始为 Linux 用户验证服务。
Linux 上的配置
在 RedHat Linux 7.3 上,以 root 身份登录,确保已经安装了以下两个软件包:
- openldap-2.0.23-4
- nss_ldap-185-1
|
两个软件包安装完成后,打开 /etc/ldap.conf 文件来做一些配置。下面是一些用于配置的关键指令。
| host | 指定 LDAP 服务器 IP/主机名 |
| base | 指定 LDAP 客户机搜索起点 |
| port | 指定 LDAP 服务器端口 |
| pam_filter | 指定 LDAP 客户机搜索过滤器 |
| pam_login_attribute | 指定一个用户条目的登录属性 |
| pam_password | 指定客户机密码哈希方法 |
下面的例子是 ldap.conf 文件的部分内容。尤其注意那些 加粗的指令。
|
保存所作的修改,然后使用 authconfig 来启用 LDAP 验证,即执行 #authconfig 。
在 User Information Configuration 面板中,参见 图 3,选中 Cache Information和 Use LDAP。
图 3. User Information Configuration
在 Authentication Configuration 面板中,选中 Use LDAP Authentication,参见 图 4。
图 4. Authentication Configuration
然后输入 Ok。Linux 系统将开始启用 LDAP 验证。
这个工具将会把指令 pam_password 的值设置为 md5。为了让用户可以成功地修改密码,您需要手工将这个指令值设置为“clear”。
现在我们可以作为信息存储在 Directory Server 服务器上的用户来登录了。例如,以 user1 的身份登录:
因为没有 user1 的主目录,所以登录 shell 自动将目录切换到“/”。为方便起见我们可以手工添加用户主目录:
|
现在再次以 user1 身份登录,不再出现警告:
OK,好极了! 我们已经实现了一个基本的配置,可以利用 Directory Server 来对 Linux 系统用户进行验证。因为 Linux 和 Directory Server 都支持 Secure Sockets Layer (SSL),所以我们可以做更深入的配置以提高系统的安全性。关于 SSL 配置的更多信息,请参阅 参考资料。
参考资料
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文.
- 请在 讨论论坛上参与本文的讨论。(您可以单击文章顶部或底部的 讨论来访问论坛。)
- 关于 LDAP 的介绍,请参阅 LDAP HowTo。
- 访问 LDAP Implementation HowTo可以得到关于 LDAP 验证对 Linux 支持的介绍。
- 要学习 Linux 系统用户验证机制,请参阅 User authentication HowTo。
- IBM Directory Server library有关于 IBM Directory Server 5.1 的产品手册。
- 用户迁移工具 提供了一系列基于 Perl 的脚本,可以将 Linux 上的当前服务用户迁移到 LDAP 服务器上。
- IBM Directory Server描述了此产品的所有亮点。
- 用Photoshop给漂亮的烫发MM抠图
- Photoshop透明婚纱抠图大法
- Photoshop:让MM做个“变色龙”
- 用Photoshop来制作一款精美的宝宝照片墙
- Photoshop绝色美女通道抠图法
- 用Photoshop教你打造绚丽光芒效果
巧巧读书:http://www.qqread.com/linux/2006/11/u268818.html
相关专题
- Linux集群技术 (8259篇文章)
- 体验Linux的音影世界 (7931篇文章)
- Linux驱动大全 (8729篇文章)
- Linux下的路由的配置与应用 (11721篇文章)
- Linux命令简介 (9775篇文章)
- Linux防火墙 (9606篇文章)
- Linux日志专题 (8383篇文章)
- Linux服务器的安全性能 (20291篇文章)
- 揭秘Linux内存管理 (7995篇文章)
- 解析Linux文件系统 (8197篇文章)
- Linux与Windows Vista的桌面之争 (83次浏览)
- 对比评测Vista XP Linux启动时间 (59次浏览)
- Linux 基本概念及常用命令 (57次浏览)
- Linux系统如何判断CPU是双核还是单核 (53次浏览)
- VMware下Linux与真实主机共享上网 (31次浏览)
- Linux系统下如何更改终端显示分辨率 (30次浏览)
- 实用技巧:配置Linux操作系统环境变量 (30次浏览)
- Fedora 8 Linux下安装配置audacious过程 (27次浏览)
- Linux系统下设置环境变量Path的方法 (25次浏览)
- 最流行的发行版:Ubuntu 8.04 Alpha 2发布 (24次浏览)



