跳过导航链接 | |
退出打印视图 | |
手册页第 5 部分:标准、环境和宏 Oracle Solaris 11.1 Information Library (简体中文) |
- LDAP 用作命名系统信息库
LDAP 是指 Lightweight Directory Access Protocol(轻量目录访问协议),是访问目录服务器的一项行业标准。通过使用 ldapclient(1M) 初始化客户机并在名称服务切换文件 /etc/nsswitch.conf 中使用关键字 ldap,Oracle Solaris 客户机可以从 LDAP 服务器获得命名信息。用户名、主机名和口令之类的信息存储在 LDAP 服务器上的目录信息树或 DIT 中。DIT 包含由属性构成的条目。每个属性都具有一个类型以及一个或多个值。
Oracle Solaris LDAP 客户机使用 LDAP v3 协议来访问 LDAP 服务器的命名信息。LDAP 服务器必须支持 RFC2307bis(草稿)中定义的对象类和属性,用于将命名服务模型映射到 LDAP。作为使用 RFC2307bis(草稿)中定义的模式的一种替代方法,可配置系统使用其他模式集并且配置模式映射功能以在二者之间映射。有关更多详细信息,请参见《Oracle Solaris Administration: Naming and Directory Services》。
ldapclient(1M) 实用程序可通过设置相应目录、文件以及配置信息将 Oracle Solaris 计算机变为 LDAP 客户机。LDAP 客户机在本地高速缓存文件中高速缓存这些配置信息。可通过 ldap_cachemgr(1M) 守护进程访问这些配置信息。此守护进程还会从 LDAP 服务器刷新配置文件中的信息,从而提高性能和安全性。ldap_cachemgr 必须一直运行,才能使命名服务正常运行。
存在两种类型的配置信息:通过配置文件获得的信息以及根据客户机配置的信息。配置文件包含有关客户机如何访问目录的所有信息。代理用户的凭证信息将根据客户机进行配置并且不会通过配置文件下载。
配置文件包含服务器特定的参数,并且所有客户机都需要这些参数以找出所需 LDAP 域的服务器。例如,这些信息可以是服务器的 IP 地址以及搜索基标识名 (Distinguished Name, DN)。配置文件会在客户机初始化期间根据缺省配置文件在客户机上进行配置,并且在过期时由 ldap_cachemgr 守护进程定期更新。
客户机配置文件可存储在 LDAP 服务器上并可由 ldapclient 实用程序用于初始化 LDAP 客户机。使用客户机配置文件是配置客户机的最简单方法。请参见 ldapclient(1M)。
凭证信息包括由客户机使用的客户机特定参数。这些信息可以是客户机的绑定标识名(LDAP“登录”名称)以及口令。如果这些参数是必需的,将通过 ldapclient(1M) 在初始化期间进行手动定义。
命名信息存储在 LDAP 服务器上的容器中。容器是包含命名服务信息的 DIT 中的非叶条目。容器与 NIS 中的映射类似。NIS 数据库与 LDAP 中的容器之间的缺省映射如下所示。可使用 serviceSearchDescriptors 覆盖这些容器的位置及名称。有关更多信息,请参见 ldapclient(1M)。
|
客户机的安全模型由要使用的凭证级别、验证方法以及要使用的 PAM 模块共同定义。凭证级别定义客户机应使用何种凭证来验证目录服务器,而验证方法则定义所选择的方法。可使用多个值设置这两项。Oracle Solaris LDAP 支持将以下值用于凭证级别:
|
Oracle Solaris LDAP 支持将以下值用于验证方法:
|
当凭证级别配置为 self 时,必须配置 DNS 且验证方法必须为 sasl/GSSAPI。/etc/nsswitch.conf 中的 hosts 和 ipnodes 必须配置为使用 DNS,例如 hosts: dns files 和 ipnodes: dns files。
sasl/GSSAPI 自动使用 GSSAPI 保密性和完整性选项(如果目录服务器上已配置这些选项)。
self 凭证级别允许以下类型的查找:根据用户的命名服务查找,或者连接到目录服务器时使用用户的 GSSAPI 凭证的查找。当前此模型中支持的唯一 GSSAPI 机制是 Kerberos V5。在使用此凭证级别之前必须配置 Kerberos。有关详细信息,请参见 kerberos(5)。
访问控制可提供更多保护,允许服务器授予某些容器或条目的访问权。访问控制由 LDAP 服务器中定义和存储的访问控制列表 (Access Control List, ACL) 指定。LDAP 服务器上的访问控制列表在 SunOne Directory Server 上称为访问控制指令 (Access Control Instruction, ACI)。每一个 ACL 或 ACI 均指定一或多个目录对象,例如特定容器中的 cn 属性,要授予或拒绝其访问权的一或多个客户机,以及决定客户机如何处理对象的一或多项访问权。客户机可以是用户或应用程序。例如,访问权可以指定为读写。有关使用 LDAP 作为命名系统信息库时 ACL 和 ACI 的限制,请参见《Oracle Solaris Administration: Naming and Directory Services》。
/etc 目录中提供了名为 nsswitch.ldap 的一个示例 nsswitch.conf(4) 文件。ldapclient(1M) 实用程序会将此文件复制到 /etc/nsswitch.conf。此文件将 LDAP 用作 nsswitch.conf 文件中不同数据库的系统信息库。
下面列出了与 LDAP 有关的用户命令:
使 SunOne Directory Server 可以支持 Solaris LDAP 客户机。
从相应的 /etc 文件创建 LDAP 条目。
初始化 LDAP 客户机,或生成要存储在目录中的配置文件。
列出 LDAP 命名空间的内容。
包含客户端的 LDAP 配置的文件。不要手动修改这些文件。其内容不保证是用户可读的。使用 ldapclient(1M) 可以更新这些文件。
用于名称服务转换的配置文件。
使用 LDAP 和文件配置的名称服务转换的样例配置文件。
PAM 框架配置文件。
替代 PAM 框架配置文件。
ldaplist(1)、idsconfig(1M)、ldap_cachemgr(1M)、ldapaddent(1M)、ldapclient(1M)、nsswitch.conf(4)、pam.conf(4)、kerberos(5)pam_authtok_check(5)、pam_authtok_get(5)、pam_authtok_store(5)、pam_dhkeys(5)、pam_ldap(5)、pam_passwd_auth(5)、pam_unix_account(5)、pam_unix_auth(5)、pam_unix_session(5)
《Oracle Solaris Administration: Naming and Directory Services》