ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:267.33KB ,
资源ID:7652369      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7652369.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(使用 OpenLDAP 集中管理用户帐号.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

使用 OpenLDAP 集中管理用户帐号.docx

1、使用 OpenLDAP 集中管理用户帐号使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致性。随着 Linux 的不断成熟,已经出现了很多工具用来简化用户帐号信息到 LDAP 目录的迁移。还开发了一些工具用来在客户机和目录服务器之间启用加密通信配置,并通过复制提供容错性。本文将向您展示如何配置服务器和客户机在 Red Hat Linux 上使用 OpenLDAP。简介Linux 发行版中提供的 OpenLDAP 软件按照一个客户机/服务器模型实现了轻量级目录访问协议(LDAP)。LDAP 的设计目的是提供一种有效的方法来查

2、找和管理信息。OpenLDAP 软件和包提供了创建目录信息树(一个主要进行读操作的数据库)的工具。本文向您展示如何存储用户的帐号信息,并修改身份验证服务来使用 LDAP 获取所需要的信息。内部细节并不重要,因为这些工具可以将数据库的内容以文本格式(LDAP 数据交换格式,LDIF)呈现在您的面前。LDAP 信息被组织成属性和值的组合,称为 条目(entry)。条目可能会具有必须的属性或可选属性。一个条目的属性必须要遵循 /etc/openldap/schema/ 模式文件中定义的规则。规则包含在条目的 objectclass 属性中。看一下下面的关系,我们可以看出 posixAccount o

3、bjectclass 中包含了密码文件条目的信息(posixAccount userPassword 是文件条目的 base64 编码)。图 1. LDAP 目录条目和 Linux 密码文件之间的关系文件 /etc/openldap/schema/nis.schema 为 posixAccount 对象类中的条目定义了所有的属性和 objectclass。例如,下面是对 uidNumber 属性的描述:attributetype ( 1.3.6.1.1.1.1.0 NAME uidNumber DESC An integer uniquely identifying a user in an

4、administrative domain EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )所有的属性类型都已经定义了,它们被收集到 posixAccount objectclass 中。例如:objectclass ( 1.3.6.1.1.1.2.0 NAME posixAccount SUP top AUXILIARY DESC Abstraction of an account with POSIX attributes MUST ( cn $ uid $ uidNumber $ gidNu

5、mber $ homeDirectory ) MAY ( userPassword $ loginShell $ gecos $ description ) )ldapuser 条目具有一个识别名属性 dn,它用作用户名,并与 userPassword 一起用来在 LDAP 目录中记录信息,或与 LDAP 目录绑定在一起使用。LDAP 为作为容器使用的特殊条目提供了将这些条目组织成树结构的功能。在这个例子中,我们将使用一个容器 People 保存用户帐号信息,使用另外一个容器 Groups 保存组帐号信息。所生成的目录信息树如图 2 所示。图 2. 用户帐号信息使用的目录信息树让我们来看一下如

6、何配置 OpenLDAP 服务器,如何将信息从系统文件迁移到 LDAP 目录中,如何配置 OpenLDAP 客户机通过 LDAP 对用户进行身份验证。在使用一个集中的身份验证数据库时,应该通过使用复制技术采用第二个 LDAP 服务器提供高可用性,这样在主服务器出现问题时,就可以使用第二个 LDAP 服务器响应客户机的请求。由于诸如密码之类的身份验证数据会通过网络进行传输,因此希望使用 TSL 协议建立加密通信连接。我们的 OpenLDAP 服务器和客户机都是虚拟机,上面运行的是 Red Hat Enterprise Linux AS release 4(Nahant Update 1)。在我们

7、的例子中使用了 表 1 所列出的系统。如果想模仿这些例子,请使用适合您自己的设置。表 1. 系统网络信息角色主机名IP 地址OpenLDAP 主服务器dhcp64-9.47.64.233OpenLDAP 从服务器dhcp64-9.47.64.253OpenLDAP 客户机dhcp64-9.47.64.251回页首配置 LDAP 服务器我们使用 Red Hat Enterprise Linux release 4 Update 1 上的包来构建服务器: openldap-2.2.13-2:包含 OpenLDAP 配置文件、库和文档 openldap-servers-2.2.13-2:包含 sla

8、pd 和 slurpd 服务器、迁移脚本和相关文件 openldap-clients-2.2.13-2:包含客户机程序,用来访问和修改 OpenLDAP 目录 OpenLDAP 包在服务器上安装了很多程序: 守护进程: o slapd:主 LDAP 服务器 o slurpd:负责与复制 LDAP 服务器保持同步的服务器 对网络上的目录进行操作的客户机程序。下面这两个程序是一对儿: o ldapadd:打开一个到 LDAP 服务器的连接,绑定、修改或增加条目 o ldapsearch:打开一个到 LDAP 服务器的连接,绑定并使用指定的参数进行搜索 对本地系统上的数据库进行操作的几个程序: o

9、slapadd:将以 LDAP 目录交换格式(LDIF)指定的条目添加到 LDAP 数据库中 o slapcat:打开 LDAP 数据库,并将对应的条目输出为 LDIF 格式 OpenLDAP 的主要服务器配置文件是 /etc/openldap/slapd.conf。本例所使用的完整 slapd.conf 文件如 清单 18 所示。slapd.conf 文件中包括一系列全局配置选项,它们作为一个整体应用到 slapd 上面,后面是包含数据库特有信息的数据库后端定义。如果一行内容是以空格开始的,就认为它是上一行的延续。空行和以 “#” 字符开头的注释行都会被忽略。如果您正把本文当作练习来做,那就

10、可以按照下面指定的方式进行修改,从而启动 LDAP 服务器。一旦确认服务器正常工作之后,就可以添加复制功能,然后再添加安全性支持。首先是全局配置信息段的设置。其中每个选项的值都是我们想要的。正如上面介绍的一样,信息被组织成属性和值的组合,称为条目。条目属性必须遵循的规则是使用 objectclass 专用属性进行组织的,这可以在 /etc/openldap/schema/ 模式文件中找到。对于身份验证来说,需要使用在 nis.schema 中定义的 posixAccount 和 shadowAccount objectclasses:include /etc/openldap/schema/n

11、is.schema loglevel 行设置的是日志选项。可以将其设置为这样的级别:调试语句和操作统计信息都会被记录到 /var/log/slapd.log 中。日志级别是累加的:296 = 256 日志连接/操作/结果 + 32 搜索过滤器处理 + 8 连接管理:loglevel 296 日志信息会被记录到 syslogd LOG_LOCAL4 机制中。还需要将下面的内容添加到 /etc/syslog.conf 中,并让 syslogd 重新读取自己的配置文件:local4.debug /var/log/slapd.log access 行定义了谁可以访问目录中的内容。我们希望用户可以修改自

12、己的密码,并更新自己的 shadow 信息来反映密码的变化。希望身份验证程序能够检索用户的密码。还希望用户能够读取所有其他条目。注意密码条目是不可读的,shadow 属性的惟一用处就是管理密码的过期问题。access to attrs=shadowLastChange,userPassword by self write by * authaccess to * by * read接下来,在 database 部分,要定义下面的内容。使用新的 bdb 后端数据库:database bdb 指定后端数据库需要响应的查询的 DN 前缀。为了确保惟一性,根前缀应该从自己的网络域名构建出来。在本例的情

13、况中,它是 .dc=svc,dc=beaverton,dc=ibm,dc=com.,但是在下面的例子中我们对其进行了简化:suffix dc=ibm,dc=com 指定管理 DN,它不用于访问控制或限制数据库的操作。也不需要在目录中为这个 DN 指定一个条目。为具有 rootpw 密码的管理员使用 DN 可以跳过 ACL 规则中的所有访问控制:rootdn cn=Manager,dc=ibm,dc=comrootpw MD5ijFYNcSNctBYg 这就是我们现在想要设置的选项。稍后将返回 slapd.conf 文件来配置复制,然后在配置安全性。现在,我们希望将数据添加到目录中,并确认可以访

14、问这些信息。要实现这种功能,需要配置服务器来使用 ldap 客户机工具,例如 ldapadd 和 ldapsearch。ldap 客户机工具的配置文件是 /etc/openldap/ldap.conf。我们使用的这个文件的完整列表如本文末尾的 清单 19 所示。要在 ldap 服务器上运行这些工具,只需要将该行修改成下面的内容:BASE dc=ibm,dc=com 设置启动脚本在级别 2、3 和 5 时启动 LDAP:清单 1. 设置启动运行级别# chkconfig -levels 235 ldap on从命令行中启动服务:清单 2. 启动服务# service ldap startStar

15、ting slapd: OK OpenLDAP 守护进程 slapd 应该已经运行了:清单 3. 检查服务正在运行# ps -ef | grep slapldap 13521 1 0 Oct24 ? 00:00:00 /usr/sbin/slapd -u ldap -h ldap:/ ldaps:/ldapsearch -x 命令应该可以成功完成,但不会返回任何数据。回页首迁移密码和 shadow 信息Red Hat 所提供的 openldap-servers 包包含 PADL Software Pty Ltd. 公司的 MigrationTools 工具。我们将使用这些工具将数据从 Linu

16、x 系统文件(例如 /etc/group 和 /etc/password)转换成 LDAP LDIF 格式,这是数据库信息的一种文本格式的表示。这种格式是行界定、冒号分隔的属性-值对。有一组 Perl 脚本被安装到 /usr/share/openldap/migration/ 中执行迁移。这些 Perl 脚本的配置信息包含在 migrate_common.ph 文件的开头。对于我们的目的来说,只需要修改命名前缀的变量来使用条目的识别名就足够了,如下所示:$DEFAULT_BASE = dc=ibm,dc=com 在进行这些修改之后,请运行脚本 migrate_base.pl,它会创建根项,并为

17、 Hosts、Networks、Group 和 People 等创建低一级的组织单元:清单 4. 运行 migrate_base.pl# migrate_base.pl base.ldif编辑 base.ldif,删除除下面之外的所有条目:清单 5. base.ldif 条目# cat base.ldifdn: dc=ibm,dc=comdc: ibmobjectClass: topobjectClass: domaindn: ou=People,dc=ibm,dc=comou: PeopleobjectClass: topobjectClass: organizationalUnitdn:

18、ou=Group,dc=ibm,dc=comou: GroupobjectClass: topobjectClass: organizationalUnit在 LDAP 服务器上,使用 OpenLDAP 客户机工具 ldapadd 将以下条目插入到数据库中。简单身份验证必须要使用 -x 选项指定。在 slapd.conf 中定义的 rootdn 身份验证识别名是 “cn=Manager,dc=ibm,dc=com”。对于简单身份验证来说,必须使用密码。选项 -W 强制提示输入密码。这个密码就是在 slapd.conf 文件中指定的 rootpw 参数的值。包含这些条目的 LDIF 文件是使用

19、-f 选项指定的:清单 6. 使用 ldapadd 插入条目# ldapadd -x -D cn=Manager,dc=ibm,dc=com -W -f base.ldif接下来,从 /etc/group 中迁移 ldapuser 组:清单 7. 迁移 ldapuser 组# grep ldapuser /etc/group group.in# ./migrate_group.pl group.in group.ldif# cat group.ldifdn: cn=ldapuser,ou=Group,dc=ibm,dc=comobjectClass: posixGroupobjectClass

20、: topcn: ldapuseruserPassword: cryptxgidNumber: 500# ldapadd -x -D cn=Manager,dc=ibm,dc=com -W -f group.ldif最后,从 /etc/passwd 和 /etc/shadow 中迁移 ldapuser 的信息:清单 8. 迁移 ldapuser 信息# grep ldapuser /etc/passwd passwd.in# ./migrate_passwd.pl passwd.in passwd.ldif# cat passwd.ldifdn: uid=ldapuser,ou=People,

21、dc=ibm,dc=comuid: ldapusercn: ldapuserobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: crypt$1$TeOlOcMc$cpQaa0WpLSFRC1HIHW5bt1shadowLastChange: 13048shadowMax: 99999shadowWarning: 7loginShell: /bin/bashuidNumber: 500gidNumber: 500homeDirectory: /ho

22、me/ldapusergecos: ldapuser# ldapadd -x -D cn=Manager,dc=ibm,dc=com -W -f passwd.ldif现在检查已经添加到数据库中的信息。清单 9 给出了全部输出结果:清单 9. 以 LDIF 格式填充的 OpenLDAP 数据库# ldapsearch -x# extended LDIF# LDAPv3# base with scope sub# filter: (objectclass=*)# requesting: ALL# dn: dc=ibm,dc=comdc: ibmobjectClass: topobjectClas

23、s: domain# People, dn: ou=People,dc=ibm,dc=comou: PeopleobjectClass: topobjectClass: organizationalUnit# Group, dn: ou=Group,dc=ibm,dc=comou: GroupobjectClass: topobjectClass: organizationalUnit# ldapuser, Group, dn: cn=ldapuser,ou=Group,dc=ibm,dc=comobjectClass: posixGroupobjectClass: topcn: ldapus

24、ergidNumber: 500# ldapuser, People, dn: uid=ldapuser,ou=People,dc=ibm,dc=comuid: ldapusercn: ldapuserobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountshadowMax: 99999shadowWarning: 7loginShell: /bin/bashuidNumber: 500gidNumber: 500homeDirectory: /home/ldapuserge

25、cos: test2# search resultsearch: 2result: 0 Success# numResponses: 6# numEntries: 5回页首配置 LDAP 客户机用来设置客户机的 Red Hat Enterprise Linux release 4 Update 1 包包括: nss_ldap-226-6:包括两个 LDAP 访问客户机:nss_ldap 和 pam_ldap o nss_ldap 是一组 C 库扩展,它允许 LDAP 目录服务器用作一个用户和组信息的主源 o pam_ldap 是一个 Linux-PAM 模块,它支持身份验证功能 LDAP 身份

26、验证要想正确地工作,需要配置两个服务:系统命名服务和身份验证服务。系统命名服务(NSS)需要配置为使用 LDAP 来解析诸如用户和组帐号之类的资源。例如,在运行命令 ls -l 时,如果某个文件 inode 给出文件的所有者是 “user 501”,那么命名服务就需要将 “uid 501” 解析成用户名,并在 ls 命令输出结果中输出。通常来说,这是通过查找 /etc/passwd 文件中的所有用户帐号实现的。由于用户现在都存储在 LDAP 目录中,因此系统需要配置成同时对 passwd 文件和 LDAP 目录中的帐号进行解析。这种功能是通过 /usr/lib/libnss_ldap.so 库

27、提供的。身份验证服务是实际向 LDAP 验证用户身份的服务。可插入身份验证模块(PAM)提供了本地 Linux 身份验证服务。下面我们将配置 PAM 先对本地的 /etc/passwd 文件检查用户帐号,然后再对 LDAP 服务器进行检查。PAM LDAP 模块可以用来将身份验证重定向到 LDAP 目录上。/lib/security/pam_ldap.so PAM 模块提供了 LDAP 身份验证功能。身份验证本身是由 PAM 程序执行的,它从身份验证候选机制中获取用户名,将其绑定到 OpenLDAP 服务器上,检索与这个 uid 条目(用户名条目)相关的 DN;从身份验证候选机制中获取密码,然

28、后使用这个 DN 和密码试图将其绑定到 OpenLDAP 服务器上。如果绑定成功,PAM 会报告说这个用户已经成功通过了 pam_ldap.so 提供的身份验证测试。根据 PAM 的配置不同,在用户看到命令行提示符之前可能会执行其他测试。我们可以采用两种方法来配置 LDAP 客户机。一种快速而简单的方法是运行 /usr/sbin/authconfig,并在两个屏幕中输入信息。另外一种方法是通过编辑客户机 LDAP 配置文件 /etc/ldap.conf,然后修改 /etc/nsswitch.conf、/etc/sysconfig/authconfig 和 /etc/pam.d/system-a

29、uth。首先让我们来看一下如何运行 authconfig。如图 3 所示进行选择,然后点击 Next。图 3. 执行 authconfig 命令的第一个页面在如图 4 所示的第二个屏幕中输入对应的信息,然后点击 OK。图 4. 执行 authconfig 命令的第二个页面要手工配置 OpenLDAP 客户机,请遵循下面的步骤。用来跟踪特定身份验证机制是否已经启用的文件是 /etc/sysconfig/。我们可以希望以下条目的值都是 “yes”:USELDAP=yesUSELDAPAUTH=yesUSEMD5=yesUSESHADOW=yesUSELOCAUTHORIZE=yes PAM 和 N

30、SS 模块使用的基本配置文件是 /etc/ldap.conf。host 选项指定 LDAP 服务器,base 选项指定这个目录使用的 DN,最初我们希望关闭加密功能:host dhcp64-base dc=ibm,dc=comssl off 要让 NSS 服务使用 OpenLDAP 服务器,需要将 “ldap” 添加到 /etc/nsswitch.conf 文件的 passwd、shadow 和 group 行中,如下所示: passwd: files ldapshadow: files ldapgroup: files ldap 要让 PAM 身份验证服务使用 OpenLDAP 服务器,请将 pam_ldap 行加入到 /etc/pam.d/system-auth 中,位置在对应的标准 pam_unix.so 条目之后。尽管其他设置也可以实现相同的结果,但是我使用下面的文件设置:auth required /lib/security/$ISA/pam_env.soauth sufficient /lib/security/$ISA/pam_unix.so likeauth nullokauth sufficient /lib/security/$ISA/pam_ldap.so use_first_passauth re

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1