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(概述/任务)

16.  从 NIS+ 转换为 LDAP

NIS+ 到 LDAP 的转换概述

rpc.nisd 配置文件

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

何时不使用 SMF 进行 NIS+ 到 LDAP 转换

修改 /lib/svc/method/nisplus 文件

创建属性和对象类

NIS+ 到 LDAP 转换入门

/etc/default/rpc.nisd 文件

常规配置

来自 LDAP 的配置数据

服务器选择

验证和安全性

LDAP 和 NIS+ 中的缺省位置

LDAP 通信的超时/大小限制和引用操作

错误操作

常规 LDAP 操作控制

/var/nis/NIS+LDAPmapping 文件

nisplusLDAPdatabaseIdMapping 属性

nisplusLDAPentryTtl 属性

nisplusLDAPobjectDN 属性

nisplusLDAPattributeFromColumn 属性

nisplusLDAPcolumnFromAttribute 属性

NIS+ 到 LDAP 迁移方案

如何通过一步操作将所有的 NIS+ 数据转换为 LDAP

如何通过一步操作将所有的 LDAP 数据转换为 NIS+

合并 NIS+ 数据和 LDAP 数据

如何合并 NIS+ 数据和 LDAP 数据

主服务器和副本服务器(从 NIS+ 转换为 LDAP)

复制时间标记

目录服务器(从 NIS+ 转换为 LDAP)

配置 Sun Java System Directory Server

指定服务器地址和端口号

安全性和验证

使用 SSL

性能和索引

映射表项以外的 NIS+ 对象

NIS+ 项的所有者、组、访问权限和 TTL

如何将其他项属性存储到 LDAP 中

主体名和网络名(从 NIS+ 转换为 LDAP)

client_infotimezone 表(从 NIS+ 转换为 LDAP)

client_info 属性和对象类

timezone 属性和对象类

添加新的对象映射(从 NIS+ 转换为 LDAP)

如何映射非项对象

添加项对象

将配置信息存储到 LDAP 中

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

服务管理工具的更改

DNS BIND

pam_ldap 更改

文档错误

词汇表

索引

NIS+ 项的所有者、组、访问权限和 TTL

如果 NIS+ 表项是从 LDAP 数据创建的,则缺省行为是使用项对象所在表对象中的所有者、组、访问权限和 TTL 来初始化项对象的对应值。这通常是足够的,但也可能会遇到必须单独设置这些 NIS+ 项属性的情况。例如,当站点不使用 rpc.nispasswdd(1M) 守护进程时。为了允许个别用户更改其 NIS+ 口令(并重新加密存储在 cred.org_dir 表中的 Diffie-Hellman 密钥),该用户应当拥有自己的 passwd.org_dircred.org_dir 项,而且必须对这些项拥有与项所有者相同的修改权限。

如果您需要将一个或多个 NIS+ 表中表项的所有者、组、访问权限或 TTL 存储在 LDAP 中,则需要执行以下操作。

如何将其他项属性存储到 LDAP 中

  1. 请查阅 LDAP 服务器文档,并新建下列属性和对象类。(LDIF 数据适用于 ldapadd。属性和对象类 OID 仅用于说明。)
    dn: cn=schema
    changetype: modify
    add: attributetypes
    attributetypes: ( 1.3.6.1.4.1.42.2.27.5.42.42.4.0 NAME 'nisplusEntryOwner' \
                    DESC 'Opaque representation of NIS+ entry owner' \
                    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
    attributetypes:    ( 1.3.6.1.4.1.42.2.27.5.42.42.4.1 NAME 'nisplusEntryGroup' \
                    DESC 'Opaque representation of NIS+ entry group' \
                    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
    attributetypes:    ( 1.3.6.1.4.1.42.2.27.5.42.42.4.2 NAME 'nisplusEntryAccess' \
                    DESC 'Opaque representation of NIS+ entry access' \
                    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
    attributetypes:    ( 1.3.6.1.4.1.42.2.27.5.42.42.4.3 NAME 'nisplusEntryTtl' \
                    DESC 'Opaque representation of NIS+ entry TTL' \
                    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
    dn: cn=schema
    changetype: modify
    add: objectclasses
    objectclasses:(1.3.6.1.4.1.42.2.27.5.42.42.5.0 NAME 'nisplusEntryData'\
    SUP top STRUCTURAL DESC 'NIS+ entry object non-column data'\
    MUST ( cn ) MAY ( nisplusEntryOwner $ nisplusEntryGroup $\
    nisplusEntryAccess $ nisplusEntryTtl ) )
  2. 修改相关表的 nisplusLDAPobjectDN 属性值,以使写入部分包括新创建的 nisplusEntryData 对象类。

    例如,对于 passwd.org_dir 表,假定使用的是基于 /var/nis/NIS+LDAPmapping.template 的映射文件,按以下方式进行编辑:

    nisplusLDAPobjectDN    passwd:ou=People,?one?objectClass=shadowAccount,\
    
                    objectClass=posixAccount:\
                    ou=People,?one?objectClass=shadowAccount,\
                    objectClass=posixAccount,\
                    objectClass=account,objectClass=top

    按如下方式编辑属性值:

    nisplusLDAPobjectDN    passwd:ou=People,?one?objectClass=shadowAccount,\
    
                    objectClass=posixAccount:\
                    ou=People,?one?objectClass=shadowAccount,\
                    objectClass=posixAccount,\
                    objectClass=nisplusEntryData,\
                    objectClass=account,objectClass=top
  3. 编辑 nisplusLDAPattributeFromColumnnisplusLDAPcolumnFromAttribute 属性值,以指定所需的所有者、组、访问权限或 TTL 的任何子集。

    在步骤 2 中,您创建了用于存储这些值的 LDAP 属性。对于 NIS+,存在几个名称分别为 zo_ownerzo_groupzo_accesszo_ttl 的预定义伪列。例如,为了将 passwd.org_dir 项的所有者、组和访问权限存储在 LDAP 中,请修改以下内容中的 nisplusLDAPattributeFromColumn 值:

    nisplusLDAPattributeFromColumn \
            passwd:        dn=("uid=%s,", name), \
                    cn=name, \
                    uid=name, \
                    userPassword=("{crypt$}%s", passwd), \
                    uidNumber=uid, \
                    gidNumber=gid, \
                    gecos=gcos, \
                    homeDirectory=home, \
                    loginShell=shell, \
                    (shadowLastChange,shadowMin,shadowMax, \
                     shadowWarning, shadowInactive,shadowExpire)=\
                        (shadow, ":")

    按以下方式编辑读取部分:

    nisplusLDAPattributeFromColumn \
            passwd:        dn=("uid=%s,", name), \
                    cn=name, \
                    uid=name, \
                    userPassword=("{crypt$}%s", passwd), \
                    uidNumber=uid, \
                    gidNumber=gid, \
                    gecos=gcos, \
                    homeDirectory=home, \
                    loginShell=shell, \
                    (shadowLastChange,shadowMin,shadowMax, \
                     shadowWarning, shadowInactive,shadowExpire)=\
                        (shadow, ":"), \
                    nisplusEntryOwner=zo_owner, \
                    nisplusEntryGroup=zo_group, \
                    nisplusEntryAccess=zo_access

    同样,要从 LDAP 数据中为 passwd.org_dir 表设置 NIS+ 项的所有者、组和访问权限,请修改以下内容:

    nisplusLDAPcolumnFromAttribute \
            passwd:        name=uid, \
                    ("{crypt$}%s", passwd)=userPassword, \
                    uid=uidNumber, \
                    gid=gidNumber, \
                    gcos=gecos, \
                    home=homeDirectory, \
                    shell=loginShell, \
                    shadow=("%s:%s:%s:%s:%s:%s", \
                        shadowLastChange, \
                        shadowMin, \
                        shadowMax, \
                        shadowWarning, \
                        shadowInactive, \
                        shadowExpire)

    按以下方式编辑读取部分:

    nisplusLDAPcolumnFromAttribute \
            passwd:        name=uid, \
                    ("crypt$%s", passwd)=authPassword, \
                    uid=uidNumber, \
                    gid=gidNumber, \
                    gcos=gecos, \
                    home=homeDirectory, \
                    shell=loginShell, \
                    shadow=("%s:%s:%s:%s:%s:%s", \
                        shadowLastChange, \
                        shadowMin, \
                        shadowMax, \
                        shadowWarning, \
                        shadowInactive, \
                        shadowExpire), \
                    zo_owner=nisplusEntryOwner, \
                    zo_group=nisplusEntryGroup, \
                    zo_access=nisplusEntryAccess
  4. 将所有者、组、访问权限和/或 TTL 项数据上载到 LDAP 中。

    有关更多信息,请参见如何通过一步操作将所有的 NIS+ 数据转换为 LDAP

  5. 重新启动 NIS+ 服务,以便使对映射进行的更改生效。
    # svcadm restart network/rpc/nisplus:default