JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP)     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分关于命名和目录服务

1.  命名和目录服务(概述)

2.  名称服务转换器(概述)

第 2 部分DNS 设置和管理

3.  DNS 设置和管理(参考)

第 3 部分NIS 设置和管理

4.  网络信息服务 (Network Information Service, NIS)(概述)

5.  设置和配置 NIS 服务

6.  管理 NIS(任务)

7.  NIS 疑难解答

第 4 部分LDAP 命名服务的设置和管理

8.  LDAP 命名服务介绍(概述/参考)

9.  LDAP 基本组件和概念(概述)

10.  LDAP 命名服务的规划要求(任务)

11.  为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)

12.  设置 LDAP 客户机(任务)

LDAP 客户机设置的先决条件

LDAP 和服务管理工具

初始化 LDAP 客户机

使用配置文件初始化客户机

如何使用配置文件初始化客户机

使用每用户凭证

如何使用每用户凭证初始化客户机

使用代理凭证

如何使用代理凭证初始化客户机

在 LDAP 中启用 shadow 更新

如何初始化客户机以启用阴影数据更新

手动初始化客户机

如何手动初始化客户机

修改手动客户机配置

如何修改手动配置

取消客户机初始化

如何取消客户机初始化

设置 TLS 安全性

配置 PAM

配置 PAM 以使用 UNIX policy

配置 PAM 以使用 LDAP server_policy

检索 LDAP 命名服务信息

列出所有 LDAP 容器

列出所有用户项属性

定制 LDAP 客户机环境

为 LDAP 修改 nsswitch.conf 文件

为 LDAP 启用 DNS

13.  LDAP 疑难解答(参考)

14.  LDAP 一般参考(参考)

15.  从 NIS 转换为 LDAP(概述/任务)

16.  从 NIS+ 转换为 LDAP

A.  Solaris 10 软件中对 DNS、NIS 和 LDAP 的更新

服务管理工具的更改

DNS BIND

pam_ldap 更改

文档错误

词汇表

索引

初始化 LDAP 客户机

ldapclient(1M) 是用于在 Solaris 系统中设置 LDAP 客户机的实用程序。ldapclient 假定服务器已配置了适当的客户机配置文件。您必须先安装服务器并用适当的配置文件对其进行配置,然后才能设置客户机。


注 - Solaris 操作系统不支持 NIS 客户机与本地 LDAP 客户机共存于同一客户机系统中的配置。


使用 ldapclient 设置客户机主要有两种方法。


注 - 尽管您可以手动配置客户机,但并不建议使用此方法。使用配置文件可以降低管理客户机的复杂性和成本。


使用配置文件初始化客户机

如何使用配置文件初始化客户机

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 运行带 initldapclient 命令。
    # ldapclient init \
    -a profileName=new \
    -a domainName=west.example.com 192.168.0.1
    System successfully configured

使用每用户凭证


注 - 请勿直接编辑任何客户机配置文件。请使用 ldapclient 命令创建或修改这些文件的内容。


如何使用每用户凭证初始化客户机

开始之前

使用每用户凭证设置客户机之前,必须已经配置以下各项:

  1. 使用 gssapi 配置文件运行 ldapclient init 来初始化客户机:
    # /usr/sbin/ldapclient init -a profilename=gssapi_SPARKS.COM -a \
    domainname=example.com 9.9.9.50
  2. 尝试以用户身份登录:

    运行 kinit -p user

    在用户登录会话中运行 ldaplist -l passwd user,然后您将看见 "userpassword"。

    但是 ldaplist -l passwd bar 可以在不返回 userpassword 的同时获取项。缺省情况下,超级用户仍会看到每个人的 userpassword

有关使用每用户凭证的注释

有关详细信息,请参见本指南和《系统管理指南:安全性服务》中的其他参考。

使用代理凭证

如何使用代理凭证初始化客户机


注 - 请勿直接编辑任何客户机配置文件。请使用 ldapclient 创建或修改这些文件的内容。


  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 运行 ldapclient(定义代理值)。
    # ldapclient init \
    -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \
    -a domainName=west.example.com \
    -a profileName=pit1 \
    -a proxyPassword=test1234 192.168.0.1
    System successfully configured

    如果要使用的配置文件设置为使用 proxy,则 -a proxyDN 和 -a proxyPassword 是必需的。由于凭据并不是存储在服务器上保存的配置文件中,因此您必须在初始化客户机时提供该信息。与原先在服务器上存储代理凭证的方法相比,这种方法更安全。

    代理信息将用于创建 /var/ldap/ldap_client_cred。其余信息放置在 /var/ldap/ldap_client_file 中。

在 LDAP 中启用 shadow 更新

自 Solaris 10 10/09 发行版开始,提供了 enableShadowUpdate 开关。

如何初始化客户机以启用阴影数据更新

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 要设置 enableShadowUpdate 开关并定义管理凭证,请运行 ldapclient 命令。
    • 要更新已在运行的客户机,请运行此命令:
      # ldapclient mod -a enableShadowUpdate=TRUE \
      -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \
      -a adminPassword=admin-password
      System successfully configured
    • 要初始化客户机,请运行此命令:
      # ldapclient init \
      -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \
      -a adminPassword=admin-password
      -a domainName=west.example.com \
      -a profileName=WestUserProfile \
      -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \
      -a proxyPassword=i<proxy_password> \
      192.168.0.1
      System successfully configured
  3. 要验证配置,请显示 /var/ldap/ldap_client_cred 文件的内容。

    输出中应包含与下面类似的行:

    # cat /var/ldap/ldap_client_cred
    
       NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com
       NS_LDAP_BINDPASSWD= {NS1}4a3788f8eb85de11
       NS_LDAP_ENABLE_SHADOW_UPDATE= TRUE
       NS_LDAP_ADMIN_BINDDN= cn=admin,ou=profile,dc=west,dc=example,dc=com
       NS_LDAP_ADMIN_BINDPASSWD= {NS1}4a3788f8c053434f

手动初始化客户机

超级用户或承担等效角色的管理员可以手动配置客户机。但是在手动配置期间,会跳过许多检查,因此系统配置相对容易出错。此外,您必须更改每台计算机上的设置,而不像使用配置文件时那样,只需在一个集中位置进行更改即可。

如何手动初始化客户机

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 使用 ldapclient manual 初始化客户机。
    # ldapclient manual \
    -a domainName=dc=west.example.com \
    -a credentialLevel=proxy \
    -a defaultSearchBase=dc=west,dc=example,dc=com \ 
    -a proxyDN=cn=proxyagent,ou=profile,dc=west,dc=example,dc=com \ 
    -a proxyPassword=testtest 192.168.0.1
  3. 使用 ldapclient list 进行验证。
    NS_LDAP_FILE_VERSION= 2.0
    NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com
    NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f
    NS_LDAP_SERVERS= 192.168.0.1
    NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com
    NS_LDAP_CREDENTIAL_LEVEL= proxy

修改手动客户机配置

如何修改手动配置

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 使用 ldapclient mod 命令将身份验证方法更改为 simple
    # ldapclient mod -a authenticationMethod=simple
  3. 使用 ldapclient list 验证是否已进行了更改。
    # ldapclient list
    NS_LDAP_FILE_VERSION= 2.0
    NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com
    NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f
    NS_LDAP_SERVERS= 192.168.0.1
    NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com
    NS_LDAP_AUTH= simple
    NS_LDAP_CREDENTIAL_LEVEL= proxy

故障排除

您不能使用 mod 子命令更改 LDAP 客户机配置的某些属性。例如,您不能更改 profileNameprofileTTL 属性。要更改这些属性,请使用 ldapclient init 命令创建一个新的配置文件,如使用配置文件初始化客户机中所述,或者运行 ldapclient manual 命令,如手动初始化客户机中所述。

取消客户机初始化

ldapclient uninit 可将客户机名称服务恢复到它在最近的 initmodifymanual 操作之前的状态。换言之,该命令可对采取的上一个步骤执行“撤消”操作。例如,如果客户机被配置为使用 profile1,然后更改为使用 profile2,则使用 ldapclient uninit 将使客户机恢复使用 profile1

如何取消客户机初始化

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定特权的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的第 9  章 "使用基于角色的访问控制(任务)"

  2. 使用 ldapclient uninit
    # ldapclient uninit
    System successfully recovered

设置 TLS 安全性


注 - 安全数据库文件必须可供任何人读取。请勿在 key3.db 中包括任何私钥。


如果使用 TLS,必须安装必要的安全数据库。特别的是,需要证书和密钥数据库文件。例如,如果采用 Netscape Communicator 的旧数据库格式,则需要 cert7.dbkey3.db 这两个文件。或者,如果使用 Mozilla 提供的较新的数据库格式,则需要 cert8.dbkey3.dbsecmod.db 这三个文件。cert7.dbcert8.db 文件中包含受信任证书。key3.db 文件中包含客户机的密钥。即使 LDAP 命名服务客户机不使用客户机密钥,此文件也必须存在。secmod.db 文件中包含安全模块,如 PKCS#11 模块。如果使用的是旧格式,则不需要此文件。


注 - 在运行 ldapclient 之前,应设置并安装本节中介绍的必需的安全数据库文件。


请参见您所使用的 Sun Java System Directory Server 版本的管理员指南的“管理 SSL”一章中有关配置 LDAP 客户机以使用 SSL 的相关内容,了解如何创建和管理这些文件的信息。配置后,这些文件必须存储在 LDAP 命名服务客户机希望的位置。属性 certificatePath 用于确定此位置。缺省值为 /var/ldap

例如,使用 Netscape Communicator 设置所需的 cert7.dbkey3.db 文件之后,将文件复制到缺省位置。

# cp $HOME/.netscape/cert7.db /var/ldap
# cp $HOME/.netscape/key3.db /var/ldap

然后,向所有人授予读取访问权限。

# chmod 444 /var/ldap/cert7.db
# chmod 444 /var/ldap/key3.db

注 - Netscape 在 $HOME/.netscape 目录中管理 cert7.dbkey3.db 文件,而 Mozilla 在 $HOME/.mozilla 下的一个子目录中管理其 cert8.dbkey3.dbsecmod.db 文件。如果要将这些安全数据库用于 LDAP 命名服务客户机,必须将其副本存储在本地文件系统中。


配置 PAM

pam_ldap 是一个用于 LDAP 身份验证和帐户管理的 PAM 模块。请参见 pam_ldap(5) 手册页和附录 A,获取更多有关 pam_ldap 当前支持的功能的信息。

如果同时选中每用户模式和 self 凭证选项,您还必须启用 PAM Kerberos pam_krb5(5) pam 模块。有关详细信息,请参见 pam_krb5(5)《系统管理指南:安全性服务》文档。

配置 PAM 以使用 UNIX policy

要配置 PAM 以使用 UNIX policy,请遵照pam_ldap 的示例 pam.conf 文件中的样例。向客户机的 /etc/pam.conf 文件中添加包含 pam_ldap.so.1 的行。有关详细信息,请参见 pam.conf(4) 手册页。

配置 PAM 以使用 LDAP server_policy

要配置 PAM 以使用 LDAP server_policy,请遵照为帐户管理配置的 pam_ldap 的示例 pam_conf 文件中的样例。向客户机的 /etc/pam.conf 文件中添加包含 pam_ldap.so.1 的行。另外,如果样例 pam.conf 文件中有任何 PAM 模块指定了 binding 标志和 server_policy 选项,请在客户机的 /etc/pam.conf 文件中为对应模块使用相同的标志和选项。而且,还要将 server_policy 选项添加到包含服务模块 pam_authtok_store.so.1 的行中。


注 - 以前,如果启用了 pam_ldap 帐户管理,所有用户在每次登录系统时都必须提供登录口令以进行验证。因此,使用 rshrloginssh 等工具进行的不基于口令的登录将会失败。

但是现在,pam_ldap(5) 与 Sun Java System Directory Servers DS5.2p4 及更高发行版配合使用时,用户可以使用 rshrloginrcpssh 登录,而不需要提供口令。

pam_ldap(5) 现已修改为执行帐户管理和检索用户帐户状态,而不需要用户在登录时向目录服务器进行身份验证。目录服务器上对这一操作的新的控制为 1.3.6.1.4.1.42.2.27.9.5.8,它在缺省情况下是启用的。

要将此控制从缺省状态修改为其他状态,请在目录服务器上添加访问控制指令 (Access Control Instructions, ACI):

dn: oid=1.3.6.1.4.1.42.2.27.9.5.8,cn=features,cn=config
objectClass: top
objectClass: directoryServerFeature
oid:1.3.6.1.4.1.42.2.27.9.5.8
cn:Password Policy Account Usable Request Control
aci: (targetattr != "aci")(version 3.0; acl "Account Usable"; 
     allow (read, search, compare, proxy)
     (groupdn = "ldap:///cn=Administrators,cn=config");)
creatorsName: cn=server,cn=plugins,cn=config
modifiersName: cn=server,cn=plugins,cn=config