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

口令文件和名称空间安全

管理 NIS 用户

如何向 NIS 域添加新 NIS 用户

设置用户口令

NIS 网络组

使用 NIS 映射

获取映射信息

更改映射的主服务器

如何更改映射的主服务器

修改配置文件

如何修改配置文件

修改和使用 Makefile

使用 Makefile

更改 Makefile 宏/变量

修改 Makefile

如何修改 Makefile 以使用特定数据库

如何修改 Makefile 以删除数据库

更新和修改现有映射

如何更新随缺省集合提供的映射

维护已更新映射

传播 NIS 映射

使用 cron 进行映射传送

将 Shell 脚本用于 cronypxfr

直接调用 ypxfr

记录 ypxfr 活动

修改非缺省映射

使用 makedbm 修改非缺省映射

从文本文件创建新映射

向基于文件的映射中添加项

通过标准输入创建映射

修改通过标准输入创建的映射

添加从属服务器

如何添加从属服务器

使用启用 C2 安全性的 NIS

绑定到特定 NIS 服务器

更改计算机的 NIS 域

如何更改计算机的 NIS 域名

将 NIS 与 DNS 结合使用

如何配置通过 NIS 和 DNS 执行计算机名和地址查找

处理混合的 NIS 域

禁用 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

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

服务管理工具的更改

DNS BIND

pam_ldap 更改

文档错误

词汇表

索引

使用 NIS 映射

本节包含以下信息:

获取映射信息

用户可以使用 ypcatypwhichypmatch 命令随时从映射中获取有关映射的信息。在下面的示例中,mapname 同时指映射的正式名称和昵称(如果有)。

要列出映射中的所有值,请键入以下命令。

% ypcat mapname

要同时列出映射中的关键字和值(如果有),请键入以下命令。

% ypcat -k mapname

要列出所有映射昵称,请键入以下任何命令。

% ypcat -x
% ypmatch -x
% ypwhich -x

要列出所有可用映射及其主服务器,请键入以下命令。

% ypwhich -m

要列出特定映射的主服务器,请键入以下命令。

% ypwhich -m mapname

要以映射中的项匹配关键字,请键入以下命令。

% ypmatch key mapname

如果要查找的项不是映射中的关键字,请键入以下命令。

% ypcat mapname | grep item

其中,item 是要搜索的信息。要获取有关其他域的信息,请使用这些命令的 -d domainname 选项。

如果请求缺省域之外的域信息的计算机没有到被请求域的绑定,ypbind 将在 /var/yp/binding/domainname/ypservers 文件中查询该域的服务器列表。如果此文件不存在,该命令将发出服务器的 RPC 广播。在这种情况下,被请求域必须有一台服务器与请求计算机位于同一子网。

更改映射的主服务器

要更改选定映射的主服务器,必须先在新 NIS 主服务器上生成该映射。由于旧的主服务器名称以关键字-值对的形式出现在现有映射中(此对由 makedbm 自动插入),因此将该映射复制到新的主服务器或使用 ypxfr 将副本传送到新的主服务器是不够的。您必须将该关键字与新主服务器名重新关联。如果映射具有 ASCII 源文件,应将此文件复制到新的主服务器。

如何更改映射的主服务器

  1. 在新的主服务器上,成为超级用户或承担等效角色。

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

  2. 更改目录。
    newmaster# cd /var/yp
  3. Makefile 必须具有新映射的项,才能指定要进行的映射。否则,请使用名为 sites.byname 的映射立即编辑 Makefile
  4. 要更新映射或重新进行映射,请键入以下命令。
    newmaster# make sites.byname
  5. 如果旧的主服务器仍为 NIS 服务器,请远程登录 (rlogin) 到该旧的主服务器并编辑 Makefile。确保注释掉 Makefile 中创建 sites.byname 的部分,使其不再被创建。
  6. 如果 sites.byname 只作为 ndbm 文件存在,请在新的主服务器上重新创建它,方法是对来自任何 NIS 服务器的该文件的副本进行反汇编,然后通过 makedbm 运行反汇编的版本。
    newmaster# cd /var/yp
    newmaster# ypcat sites.byname | makedbm -domain-/sites.byname

    在新的主服务器上创建映射后,必须向其他从属服务器发送新映射的副本。不要使用 yppush,因为其他从属服务器会试图从旧的主服务器(而不是新的主服务器)中获取新副本。解决此问题的一个典型方法是从新的主服务器向旧的主服务器传送一份映射的副本。为此,请在旧的主服务器上成为超级用户或承担等效角色,并键入以下命令。

    oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname

    现在,即可安全运行 yppush。其余所有的从属服务器仍会认为旧的主服务器是当前的主服务器,并尝试从旧的主服务器中获取最新版本的映射。当客户机这样做时,它们将获得新得映射,该映射会将新的主服务器指定为当前主服务器。

    如果此方法失败,可以使用超级用户身份登录每台 NIS 服务器并执行上面所示的 ypxfr 命令。

修改配置文件

NIS 可以智能解析设置文件。尽管这样可以简化 NIS 管理,但它使 NIS 的行为对设置和配置文件中的更改更敏感。

进行以下任何一项修改时,请使用本节中的过程。

如何修改配置文件

更改 NIS 映射或映射源文件时,无需停止和启动 NIS。

请牢记以下几点。

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

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

  2. 停止 NIS 服务器。
    # svcadm disable network/nis/server
  3. 对文件进行必要的更改。
  4. 启动 NIS 服务器。
    # svcadm enable network/nis/server

修改和使用 Makefile

您可以修改 /var/yp 中缺省提供的 Makefile 来满足自己的需要。您可以添加或删除映射,也可以更改某些目录的名称。


提示 - 请保留原始的 Makefile 的未修改副本,以供将来参考。


使用 Makefile

要添加新的 NIS 映射,必须将该映射的 ndbm 文件的副本放入域中每台 NIS 服务器上的 /var/yp/domainname 目录中。此操作通常由 Makefile 执行。在决定好将哪台 NIS 服务器用作映射的主服务器之后,请修改主服务器上的 Makefile,以便可以方便地重新生成映射。不同的服务器可以作为不同映射的主服务器,但在大多数情况下,这会导致管理上的混乱。请尽量只将一台服务器设置为所有映射的主服务器。

通常,会使用 awksedgrep 对适合人阅读的文本文件进行过滤,以使其适合输入到 makedbm。有关示例,请参阅缺省的 Makefile。有关 make 命令的一般信息,请参见 make(1S)

在决定如何创建 make 可识别的相关性时,请使用 Makefile 中已经存在的机制。请注意,make 对于相关性规则中的行首是否存在制表符非常敏感。缺少制表符会使本来格式正确的项无效。

Makefile 中添加项涉及以下步骤。

例如,为使 Makefile 可以处理自动挂载程序输入文件,必须将 auto_direct.timeauto_home.time 映射添加到 NIS 数据库。

要将这些映射添加到 NIS 数据库,需要修改 Makefile

更改 Makefile 宏/变量

通过更改等号 (=) 右侧的值,可以更改 Makefile 顶部定义的变量的设置。例如,如果不想使用 /etc 中的文件作为映射的输入,而想使用另一个目录(如/var/etc/domainname)中的文件,应将 DIR DIR=/etc 更改为 DIR=/var/etc/domainname。另外,还应将 PWDIRPWDIR=/etc 更改为 PWDIR=/var/etc/domainname

这些变量如下所示。

修改 Makefile

以下过程介绍如何在 Makefile 中添加和删除数据库。

如何修改 Makefile 以使用特定数据库

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

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

  2. 修改以单词 all 开头的行,添加要添加的数据库的名称:
    all: passwd group hosts ethers networks rpc services protocols \
        netgroup bootparams aliases netid netmasks \
        audit_user auth_attr exec_attr prof_attr \
      auto_direct auto_home auto_direct.time auto_home.time

    各项的顺序不相关,但连续行开头的空白处必须为制表符,而不是空格。

  3. Makefile 结尾添加以下行:
    auto_direct: auto_direct.time
    auto_home: auto_home.time
  4. 在该文件中间添加 auto_direct.time 项。
    auto_direct.time: $(DIR)/auto_direct
     @(while read L; do echo $$L; done < $(DIR)/auto_direct
     $(CHKPIPE)) | \ (sed -e "/^#/d" -e "s/#.*$$//" -e "/^ *$$/d"
     $(CHKPIPE)) | \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto_direct;
     @touch auto_direct.time;
     @echo "updated auto_direct";
     @if [ ! $(NOPUSH) ]; then $(YPPUSH) auto_direct; fi
     @if [ ! $(NOPUSH) ]; then echo "pushed auto_direct"; fi

    其中,

    • CHKPIPE 确保在将结果传输给后面的命令之前管道符号 (|) 左侧的运算已成功完成。如果管道符号左侧的运算未成功完成,该进程将中止,并显示 "NIS make term nated"(NIS make 中止)消息。

    • NOPUSH 阻止 makefile 调用 yppush 将新映射传送到从属服务器。如果不设置 NOPUSH,将自动完成推送。

    开头的 while 循环旨在消除输入文件中的所有反斜杠扩展行。sed 脚本用于消除注释和空行。

    对于其他所有自动挂载程序映射(如 auto_home)或其他任何非缺省映射,应按相同的过程操作。

  5. 运行 make
    # make mapname

    其中,mapname 是要创建的映射的名称。

如何修改 Makefile 以删除数据库

如果不希望 Makefile 为特定数据库生成映射,请按如下步骤编辑 Makefile

  1. all 规则中删除数据库的名称。
  2. 为要删除的数据库删除或注释掉数据库规则。

    例如,要删除 hosts 数据库,应删除 hosts.time 项。

  3. 删除 time 规则。

    例如,要删除 hosts 数据库,应删除 hosts: hosts.time 项。

  4. 从主服务器和从属服务器中删除映射。