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 客户机(任务)

13.  LDAP 疑难解答(参考)

14.  LDAP 一般参考(参考)

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

NIS 到 LDAP 转换服务概述

NIS 到 LDAP 转换工具和服务管理工具

NIS 到 LDAP 转换的目标用户

不应使用 NIS 到 LDAP 转换服务的情况

NIS 到 LDAP 转换服务对用户造成的影响

NIS 到 LDAP 转换术语

NIS 到 LDAP 转换的命令、文件和映射

支持的标准映射

从 NIS 转换为 LDAP(任务列表)

NIS 到 LDAP 转换的先决条件

设置 NIS 到 LDAP 转换服务

如何使用标准映射设置 N2L 服务

如何使用定制映射或非标准映射设置 N2L 服务

定制映射的示例

示例 1-移动主机项

示例 2-实现定制映射

使用 Sun Java System Directory Server 进行 NIS 到 LDAP 转换的最佳做法

使用 Sun Java System Directory Server 创建虚拟列表视图索引

标准映射的 VLV

定制映射和非标准映射的 VLV

避免 Sun Java System Directory Server 服务器超时

避免 Sun Java System Directory Server 缓冲区溢出

NIS 到 LDAP 转换的限制

NIS 到 LDAP 转换的疑难解答

常见的 LDAP 错误消息

NIS 到 LDAP 转换的问题

调试 NISLDAPmapping 文件

N2L 服务器超时问题

N2L 锁定文件问题

N2L 死锁问题

恢复为 NIS

如何基于旧的源文件恢复到 NIS 映射

如何基于当前的 DIT 内容恢复为 NIS 映射

16.  从 NIS+ 转换为 LDAP

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

服务管理工具的更改

DNS BIND

pam_ldap 更改

文档错误

词汇表

索引

设置 NIS 到 LDAP 转换服务

您可以按照以下两个过程中的说明,使用标准映射或定制映射设置 N2L 服务。

在 NIS 到 LDAP 转换过程中,您需要运行 inityp2l 命令。该命令会运行一个交互式脚本,而您必须为该脚本提供配置信息。以下列表列出了需要提供的信息类型。有关这些属性的说明,请参见 ypserv(1M) 手册页。


注 - 大多数 LDAP 服务器(包括 Sun Java System Directory Server)都支持 sasl/cram-md5 验证。


如何使用标准映射设置 N2L 服务

如果要转换支持的标准映射中所列的映射,请使用此过程。如果要使用定制映射或非标准映射,请参见如何使用定制映射或非标准映射设置 N2L 服务

设置 LDAP 服务器之后,请运行 inityp2l 脚本并在出现提示时提供配置信息。inityp2l 为标准映射和 auto.* 映射设置配置和映射文件。

  1. 完成NIS 到 LDAP 转换的先决条件中所列的先决步骤。
  2. 在 NIS 主服务器上,成为超级用户或承担等效角色。

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

  3. 将 NIS 主服务器转换为 N2L 服务器。
    # inityp2l

    在 NIS 主服务器上运行 inityp2l 脚本并按照提示操作。有关需要提供的信息的列表,请参见设置 NIS 到 LDAP 转换服务

    有关更多详细信息,请参见 inityp2l(1M) 手册页。

  4. 确定 LDAP 目录信息树 (Directory Information Tree, DIT) 是否已完全初始化。

    如果 DIT 中已包含置备 NISLDAPmapping 文件中所列全部映射所需要的信息,则表明它已完全初始化。

    • 如果不包含,请继续执行步骤 5 并跳过步骤 6。

    • 如果已包含,请跳过步骤 5 并转至步骤 6

  5. 初始化 DIT 以便从 NIS 源文件进行转换。

    仅当 DIT 尚未完全初始化时,才可执行这些步骤。

    1. 确保旧 NIS 映射是最新的版本。
      # cd /var/yp
      # make

      有关更多信息,请参见 ypmake(1M) 手册页。

    2. 停止 NIS 守护进程。
      # svcadm disable network/nis/server:default
    3. 将旧映射复制到 DIT 中,然后为这些映射初始化 N2L 支持。
      # ypserv -Ir

      等待 ypserv 退出。


      提示 - 原始的 NIS dbm 文件不会被覆写。您可以根据需要恢复这些文件。


    4. 启动 NIS 守护进程,确保其使用新映射。
      # svcadm enable network/nis/server:default

      这样便完成了使用标准映射设置 N2L 服务的过程。您无需完成步骤 6。

  6. 初始化 NIS 映射。

    仅当 DIT 已完全初始化并且跳过了步骤 5 时,才执行这些步骤。

    1. 停止 NIS 守护进程。
      # svcadm disable network/nis/server:default
    2. 使用 DIT 中的信息初始化 NIS 映射。
      # ypserv -r

      等待 ypserv 退出。


      提示 - 原始的 NIS dbm 文件不会被覆写。您可以根据需要恢复这些文件。


    3. 启动 NIS 守护进程,确保其使用新映射。
      # svcadm enable network/nis/server:default

如何使用定制映射或非标准映射设置 N2L 服务

如果符合以下情况,请使用此过程:

  1. 完成NIS 到 LDAP 转换的先决条件中所列的先决步骤。
  2. 在 NIS 主服务器上,成为超级用户或承担等效角色。

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

  3. 将 NIS 主服务器配置为 N2L 服务器。
    # inityp2l

    在 NIS 主服务器上运行 inityp2l 脚本并按照提示操作。有关需要提供的信息的列表,请参见设置 NIS 到 LDAP 转换服务

    有关更多详细信息,请参见 inityp2l(1M) 手册页。

  4. 修改 /var/yp/NISLDAPmapping 文件。

    有关如何修改映射文件的示例,请参见定制映射的示例

  5. 确定 LDAP 目录信息树 (Directory Information Tree, DIT) 是否已完全初始化。

    如果 DIT 中已包含置备 NISLDAPmapping 文件中所列全部映射所需要的信息,则表明它已完全初始化。

    • 如果未包含,请完成步骤 6、步骤 8 和步骤 9。

    • 如果已包含,请跳过步骤 6 并完成步骤 7、步骤 8 和步骤 9。

  6. 初始化 DIT 以便从 NIS 源文件进行转换。
    1. 确保旧 NIS 映射是最新的版本。
      # cd /var/yp
      # make

      有关更多信息,请参见 ypmake(1M) 手册页。

    2. 停止 NIS 守护进程。
      # svcadm disable network/nis/server:default
    3. 将旧映射复制到 DIT 中,然后为这些映射初始化 N2L 支持。
      # ypserv -Ir

      等待 ypserv 退出。


      提示 - 原始的 NIS dbm 文件不会被覆写。您可以根据需要恢复这些文件。


    4. 启动 NIS 守护进程,确保其使用新映射。
      # svcadm enable network/nis/server:default
    5. 跳过步骤 7 并继续执行步骤 8
  7. 初始化 NIS 映射。

    仅当 DIT 已完全初始化时,才可以执行此步骤。

    1. 停止 NIS 守护进程。
      # svcadm disable network/nis/server:default
    2. 使用 DIT 中的信息初始化 NIS 映射。
      # ypserv -r

      等待 ypserv 退出。


      提示 - 原始的 NIS dbm 文件不会被覆写。您可以根据需要恢复这些文件。


    3. 启动 NIS 守护进程,确保其使用新映射。
      # svcadm enable network/nis/server:default
  8. 检验 LDAP 项是否正确。

    如果这些项不正确,LDAP 命名服务器客户机将无法找到这些项。

    # ldapsearch -h server -s sub -b "ou=servdates, dc=..." \
    "objectclass=servDates"
  9. 验证 LDAP_ 映射的内容。

    以下样例输出说明如何使用 makedm 验证 hosts.byaddr 映射的内容。

    # makedbm -u LDAP_servdate.bynumber
    plato: 1/3/2001
    johnson: 2/4/2003,1/3/2001
    yeats: 4/4/2002
    poe: 3/3/2002,3/4/2000

    如果内容与预期一致,则表明已成功地从 NIS 转换到 LDAP。

    请注意,原始的 NIS dbm 文件不会被覆写,因此您始终可以恢复这些文件。有关更多信息,请参见恢复为 NIS

定制映射的示例

以下两个示例说明如何定制映射。请使用首选的文本编辑器,根据需要修改 /var/yp/NISLDAPmapping 文件。有关文件属性和语法的更多信息,请参见 NISLDAPmapping(4) 手册页以及第 9 章中的 LDAP 命名服务信息。

示例 1-移动主机项

本示例说明如何将主机项从缺省位置移到 DIT 中的另一个(非标准)位置。

请将 NISLDAPmapping 文件中的 nisLDAPobjectDN 属性更改为新的 LDAP 基本标识名 (distinguished name, DN)。在本示例中,LDAP 对象的内部结构未更改,因此 objectClass 项也不会更改。

将如下内容:

nisLDAPobjectDN hosts: \
                        ou=hosts,?one?, \
                        objectClass=device, \
                        objectClass=ipHost

更改为:

nisLDAPobjectDN hosts: \
                        ou=newHosts,?one?, \
                        objectClass=device, \
                        objectClass=ipHost

此更改会导致按如下方式映射这些项:

   dn: ou=newHosts, dom=domain1, dc=sun, dc=com

而不是按如下方式映射:

   dn: ou=hosts, dom=domain1, dc=sun, dc=com.

示例 2-实现定制映射

本示例说明如何实现定制映射。

虚拟映射 servdate.bynumber 中包含有关为系统提供服务的日期的信息。此映射根据计算机的序列号(在本示例中为 123)建立索引。每一项都由计算机所有者的姓名、一个冒号和一个用逗号分隔的服务日期列表组成,如 John Smith:1/3/2001,4/5/2003。

旧映射的结构将映射到以下形式的 LDAP 项上:

dn: number=123,ou=servdates,dc=... \
                 number: 123 \
                 userName: John Smith \
                 date: 1/3/2001 \
                 date: 4/5/2003 \
                  .
                  .
                  .
                 objectClass: servDates

通过检查 NISLDAPmapping 文件,可以看到与所需模式最接近的映射是 group。可以根据 group 映射建立定制映射的模型。由于仅有一个映射,因此不需要 nisLDAPdatabaseIdMapping 属性。以下是要添加到 NISLDAPmapping 中的属性:

nisLDAPentryTtl servdate.bynumber:1800:5400:3600

nisLDAPnameFields servdate.bynumber: \
                        ("%s:%s", uname, dates)

nisLDAPobjectDN servdate.bynumber: \
                        ou=servdates, ?one? \
                        objectClass=servDates:

nisLDAPattributeFromField servdate.bynumber: \
                        dn=("number=%s,", rf_key), \
                        number=rf_key, \
                        userName=uname, \
                        (date)=(dates, ",")

nisLDAPfieldFromAttribute servdate.bynumber: \
                        rf_key=number, \
                        uname=userName, \
                        dates=("%s,", (date), ",")