JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中使用命名和目录服务     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

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

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

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

3.  管理 DNS(任务)

4.  设置 Oracle Solaris Active Directory 客户机(任务)

第 2 部分NIS 设置和管理

5.  网络信息服务(概述)

6.  设置和配置 NIS(任务)

7.  管理 NIS(任务)

8.  NIS 故障排除

第 3 部分LDAP 命名服务

9.  LDAP 命名服务介绍(概述)

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

11.  为使用 LDAP 客户机设置 Oracle Directory Server Enterprise Edition(任务)

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

LDAP 客户机设置的先决条件

LDAP 和服务管理工具

初始化 LDAP 客户机

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

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

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

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

如何手动初始化 LDAP 客户机

如何修改手动 LDAP 客户机配置

如何取消初始化 LDAP 客户机

设置 TLS 安全性

配置 PAM

配置 PAM 以使用 UNIX policy

配置 PAM 以使用 LDAP server_policy

检索 LDAP 命名服务信息

列出所有 LDAP 容器

列出所有用户项属性

定制 LDAP 客户机环境

为 LDAP 修改名称服务转换

为 LDAP 启用 DNS

13.  LDAP 故障排除(参考信息)

14.  LDAP 命名服务(参考信息)

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

词汇表

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

初始化 LDAP 客户机

ldapclient 命令用于在 Oracle Solaris 系统上设置 LDAP 客户机。该命令假定已经为服务器配置了合适的客户机配置文件。您必须先安装服务器并用适当的配置文件对其进行配置,然后才能设置客户机。


注 - 因为 LDAP 和 NIS 使用在 network/nis/domain 服务中定义的同一域名组成部分,所以 Oracle Solaris OS 不支持 NIS 客户机和本机 LDAP 客户机共存于同一客户机系统上的配置。


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


注 - 在企业环境中,使用 LDAP 配置文件可以降低复杂性(如果该配置文件是在各台计算机之间共享的)。


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

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

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

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

开始之前

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


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


  1. 使用 gssapi 配置文件运行 ldapclient init 来初始化客户机。
    # /usr/sbin/ldapclient init -a profilename=gssapi_EXAMPLE.COM -a \
    domainname=example.com 9.9.9.50
  2. 尝试以用户身份登录:
    • 运行 kinit -p user
    • 在用户的登录会话中运行 ldaplist -l passwd user,然后您应当看到 userpassword
    • 运行 ldaplist -l passwd bar 可以获得不包含 userpassword 的项。缺省情况下,root 仍然可以看见每个人的 userpassword
有关使用每用户凭证的注释

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

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


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


  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 定义代理值。
    # 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必需的。由于凭据并不是存储在服务器上保存的配置文件中,因此您必须在初始化客户机时提供该信息。与原先在服务器上存储代理凭证的方法相比,这种方法更安全。

    代理信息存储在 configcred 属性组中的 svc:/network/ldap/client 服务中。

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

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 要设置 enableShadowUpdate 开关并定义管理凭证,请运行 ldapclient 命令。
    • 要更新已在运行的 LDAP 客户机,请运行以下命令:
      # ldapclient mod -a enableShadowUpdate=TRUE \
      -a adminDN=cn=admin,ou=profile,dc=west,dc=example,dc=com \
      -a adminPassword=admin-password
      System successfully configured
    • 要初始化某个 LDAP 客户机,请运行以下命令:
      # 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=<proxy_password> \
      192.168.0.1
      System successfully configured
  3. 要验证配置,请显示 network/ldap/client 服务的 cred 属性的内容。

    输出内容类似如下:

    # svcprop -p cred svc:/network/ldap/client
    cred/read_authorization astring solaris.smf.value.name-service.ldap.client
    cred/value_authorization astring solaris.smf.value.name-service.ldap.client
    cred/bind_dn astring cn=proxyagent,ou=profile,dc=west,dc=example,dc=com
    cred/bind_passwd astring {NS1}4a3788f8eb85de11
    cred/enable_shadow_update boolean true
    cred/admin_bind_dn astring cn=admin,ou=profile,dc=west,dc=example,dc=com
    cred/admin_bind_passwd astring {NS1}4a3788f8c053434f

如何手动初始化 LDAP 客户机

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

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 初始化客户机。
    # 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. 验证 LDAP 客户机配置。
    # 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

如何修改手动 LDAP 客户机配置

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 使用 ldapclient mod 命令将身份验证方法更改为 simple
    # ldapclient mod -a authenticationMethod=simple
  3. 验证是否已更改 LDAP 客户机配置。
    # 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 命令创建一个新的配置文件,如如何使用配置文件初始化 LDAP 客户机中所述。或者运行 ldapclient manual 命令,如如何手动初始化 LDAP 客户机中所述。

如何取消初始化 LDAP 客户机

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

  1. 成为管理员。

    有关更多信息,请参见《Oracle Solaris 11.1 管理:安全服务》中的"如何使用指定给您的管理权限"

  2. 取消初始化 LDAP 客户机。
    # ldapclient uninit
    System successfully recovered

设置 TLS 安全性


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


如果使用传输层安全 (transport layer security, TLS),则必须安装必要的安全数据库。尤其要指出的是,证书和密钥数据库文件是必需的。例如,如果您使用来自 Mozilla Firefox 的较新的数据库格式,则 cert8.dbkey3.dbsecmod.db 这三个文件是必需的。cert8.db 文件包含受信任的证书。key3.db 文件中包含客户机的密钥。即使 LDAP 命名服务客户机不使用客户机密钥,此文件也必须存在。secmod.db 文件中包含安全模块,如 PKCS#11 模块。如果使用的是旧格式,则不需要此文件。


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


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

例如,通过使用 Mozilla Firefox 设置所需的 cert8.dbkey3.dbsecmod.db 文件后,请按如下方式将文件复制到缺省位置:

# cp $HOME/.mozilla/firefox/*.default/cert8.db /var/ldap
# cp $HOME/.mozilla/firefox/*.default/key3.db /var/ldap
# cp $HOME/.mozilla/firefox/*.default/secmod.db /var/ldap

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

# chmod 444 /var/ldap/cert8.db
# chmod 444 /var/ldap/key3.db
# chmod 444 /var/ldap/secmod.db

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


配置 PAM

pam_ldap 模块是用于 LDAP 的一个验证和客户管理 PAM 模块选件。有关 pam_ldap 当前支持的功能的更多信息,请参见 pam_ldap(5) 手册页。

如果同时选择了每用户模式和 self 凭证选项,则还必须启用 PAM Kerberos pam_krb5 模块。有关更多详细信息,请参见 pam_krb5(5) 手册页和《Oracle Solaris 11.1 管理:安全服务》文档。

配置 PAM 以使用 UNIX policy

要将 PAM 配置为使用 UNIX policy,请使用缺省的 /etc/pam.conf 文件。不需要进行更改。有关详细信息,请参见 pam.conf(4) 手册页。

不过,如果由 shadow 数据控制的口令生命期和口令策略是必需的,则必须将客户机配置为在带有 enableShadowUpdate 开关的情况下运行。有关更多信息,请参见如何初始化 LDAP 客户机以启用影子数据更新

配置 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 帐户管理,所有用户在每次登录系统时都必须提供登录口令以进行验证。因此,使用 ssh 等工具的非基于口令的登录将失败。

在用户登录时,在不向目录服务器进行验证的情况下执行帐户管理并检索用户的帐户状态。目录服务器上的新控件是 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