Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1315421
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-09 19:13:06


第5 章• 设置和配置NIS 服务89
如果Internet 域名为doc.com,则可将NIS 域命名为doc.com。如果要将doc.com 划分为两个
NIS 域,一个用于销售部门,另一个用于制造部门,则可将其中一个域命名为
sales.doc.com,将另一个域命名为manf.doc.com。
只有设置了正确的NIS 域名和计算机名,计算机才能使用NIS 服务。计算机名由计算机中
的/etc/nodename 文件设置,计算机的域名由该计算机的/etc/defaultdomain 文件设置。在
引导时将读取这些文件,其内容分别由uname -S 命令和domainname 命令使用。无盘计算机
从其引导服务器中读取这些文件。
确定NIS 服务器和客户机
选择要成为主服务器的计算机。决定哪些计算机(如果有)将成为从属服务器。
决定哪些计算机将成为NIS 客户机。通常,域中的所有计算机都会被设置为NIS 客户机,
尽管这样做并不是必要的。
准备主服务器
以下各节介绍如何为主服务器准备源文件和passwd 文件。
源文件目录
源文件应位于主服务器上的/etc 目录或其他某个目录中。将源文件存储在/etc 中并不合
适,因为这样映射中的内容将与主服务器上的本地文件中的内容相同。对于passwd 和
shadow 文件而言,这一问题尤为突出,因为所有用户都可以访问主服务器映射,因而超级
用户口令将通过passwd 映射传递给所有NIS 客户机。有关其他信息,请参见第90 页中的
“Passwd 文件和名称空间安全”。
但是,如果将源文件放在其他某个目录中,则必须通过将DIR=/etc 行更改为
DIR=/your-choice 来修改/var/yp 中的Makefile,其中,your-choice 是将用来存储源文件的目
录的名称。这样便可将服务器上的本地文件视为客户机上的本地文件进行处理。(最好先
保存原始Makefile 的副本。)
此外,如果要从缺省目录外的其他目录中获取audit_user、auth_attr、exec_attr 和
prof_attr,则必须将RBACDIR =/etc/security 修改为RBACDIR=/your-choice。
Passwd 文件和名称空间安全
passwd 映射是一种特殊情况。除了早期的Solaris 1 passwd 文件格式外,此NIS 实现还接受
/etc/passwd 和/etc/shadow 文件格式作为生成NIS 口令映射的输入。
出于安全原因,用于生成NIS 口令映射的文件不应包含root 项,以防止未经授权的超级用
户访问。因此,不应使用主服务器/etc 目录中的文件生成口令映射。对于用于生成口令映
射的口令文件,应删除其中的root 项,并将它们放置在可免遭未经授权的访问的目录中。
准备主服务器
90 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
例如,主服务器口令输入文件应存储在诸如/var/yp 等目录或您选择的任何目录中,只要文
件本身不是指向其他文件的链接,而且文件位置已在Makefile 中指定。将根据Makefile 中
指定的配置自动设置正确的目录选项。
注意– 确保PWDDIR 所指定的目录中的passwd 文件不包含关于超级用户的项。
如果源文件所在的目录不是/etc,则必须更改Makefile 中的PWDIR 口令宏,以指向passwd
和shadow 文件所在的目录,方法是将行PWDIR=/etc 更改为PWDIR/your-choice,其中
your-choice 是要用来存储passwd 映射源文件的目录的名称。
为将源文件转换为NIS 映射做好准备
为将源文件转换为NIS 映射做好准备。
 如何为转换准备源文件
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见System Administration
Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
检查主服务器上的源文件,确保它们可以反映系统的最新情况。
检查以下文件:
 auto.home 或auto_home
 auto.master 或auto_master
 bootparams
 ethers
 group
 hosts
 ipnodes
 netgroup
 netmasks
 networks
 passwd
 protocols
 rpc
 service
 shadow
 user_attr
将上述除passwd 外的所有源文件复制到所选的DIR 目录中。
将passwd 文件复制到所选的PWDIR 目录中。
1
2
3
4
准备主服务器
第5 章• 设置和配置NIS 服务91
将audit_user、auth_attr、exec_attr 以及prof_attr 复制到所选的RBACDIR 目录中。
检查/etc/mail/aliases 文件。
与其他源文件不同,不能将/etc/mail/aliases 文件移至其他目录。该文件必须位于
/etc/mail 目录中。请确保/etc/mail/aliases 源文件包含要在整个域中可用的所有邮件别
名。有关更多信息,请参阅aliases(4)。
从源文件中清除所有注释以及其他多余的行和信息。
可通过sed 或awk 脚本或使用文本编辑器来执行这些操作。Makefile 可自动执行一些文件清
理,但最好在运行之前手动检查并清理这些文件。
确保所有源文件中的数据都具有正确的格式。
对于特定的源文件,必须正确设置该文件数据的格式。请检查各文件对应的手册页,以确
保每个文件都具有正确格式。
准备Makefile
在检查源文件并将其复制到源文件目录后,需要将这些源文件转换为NIS 服务使用的ndbm
格式映射。在主服务器上调用ypinit 时,它会自动执行此操作,如第93 页中的“用
ypinit 设置主服务器”中所述。
ypinit 脚本将调用程序make,该程序使用/var/yp 目录中的Makefile。缺省的Makefile 包
含在/var/yp 目录中,该文件包含将源文件转换为期望的ndbm 格式映射所需要的命令。
可以按原样使用缺省的Makefile,如果需要,也可以对其进行修改。(如果确实要修改缺
省的Makefile,请确保先复制并存储原始的缺省Makefile,以便将来需要时使用。)您可
能需要对Makefile 进行以下一项或多项修改:
 非缺省映射
如果创建了自己的非缺省源文件并且要将其转换为NIS 映射,则必须将这些源文件添加
到Makefile。
 DIR 值
如果要让Makefile 使用不在/etc 目录中存储的源文件(如第90 页中的“源文件目录”
中所述),则必须将Makefile 中的DIR 的值更改为要使用的目录。更改Makefile 中的该
值时,请勿使行缩进。
 PWDIR 值
如果要让Makefile 使用不在/etc 目录中存储的passwd、shadow 和/或adjunct 源文件,
则必须将Makefile 中的PWDIR 的值更改为要使用的目录。更改Makefile 中的该值时,请
勿使行缩进。
 域名解析程序
如果要让NIS 服务器对不在当前域中的计算机使用域名解析程序,请注释掉Makefile 行
B=,并取消对行B=-b 的注释(激活)。
5
6
7
8
准备主服务器
92 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
Makefile 的功能是为all 下列出的每个数据库创建适当的NIS 映射。通过makedbm 后,数据
将收集到两个文件(mapname.dir 和mapname.pag)中。这两个文件都位于主服务器上的
/var/yp/domainname 目录中。
Makefile 将使用相应的/PWDIR/passwd、/PWDIR/shadow 和/PWDIR/security/passwd.adjunct
文件生成passwd 映射。
用ypinit 设置主服务器
使用ypinit 脚本设置要使用NIS 的主服务器、从属服务器和客户机。它最初还运行make,
以在主服务器上创建映射。
要使用ypinit 在主服务器上生成一组新的NIS 映射,请执行以下操作。
 如何使用ypinit 设置主服务器
在主服务器上,成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见System Administration
Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
将nsswitch.files 文件的内容复制到nsswitch.conf 文件中。
# cp /etc/nsswitch.files /etc/nsswitch.conf
编辑/etc/hosts 或/etc/inet/ipnodes 文件,添加每台NIS 服务器的名称和IP 地址。
在主服务器上生成新映射。
# /usr/sbin/ypinit -m
当ypinit 提示输入要成为NIS 从属服务器的其他计算机的列表时,键入正在使用的服务器
的名称以及NIS 从属服务器的名称。
当ypinit 询问您希望该过程在第一次出现非致命错误时终止,还是不考虑非致命错误仍继
续时,键入y。
如果选择y,ypinit 将在遇到第一个问题时退出,然后您可以修复问题并重新启动
ypinit。建议在初次运行ypinit 时这样做。如果要继续,则可尝试手动修复出现的所有问
题,然后重新启动ypinit。
注– 当某些映射文件不存在时,会出现非致命错误。此错误不会影响NIS 的功能。如果未自
动创建这些映射,则可能需要手动添加。有关所有缺省NIS 映射的说明,请参阅第81 页中
的“缺省NIS 映射”。
ypinit 将询问是否可以销毁/var/yp/domainname 目录中现有的文件。
仅当先前已安装NIS 时,才会显示此消息。
1
2
3
4
5
6
7
准备主服务器
第5 章• 设置和配置NIS 服务93
ypinit 构造服务器列表后,它将调用make。
此程序将使用/var/yp 中的Makefile(缺省或修改过的文件)所包含的说明。make 命令将
从指定的文件中清除其余所有注释行。它还对这些文件运行makedbm,以创建适当映射并为
每个映射建立主服务器的名称。
如果Makefile 推送的一个或多个映射所对应的域不是主服务器上的命令domainname 所返回
的域,则可按如下所示,在ypinit shell 脚本中以变量DOM 的正确标识启动make,以确保将
映射推送到正确域:
# make DOM=domainname password
此命令会将password 映射推送到目标域,而不是主服务器所属的域。
要启用NIS 作为名称服务,键入以下命令。
# cp /etc/nsswitch.nis /etc/nsswitch.conf
此命令将以缺省的面向NIS 的转换文件替换当前的转换文件。可以根据需要编辑此文件。
支持多个NIS 域的主服务器
通常,一台NIS 主服务器只支持一个NIS 域。但是,如果要使用一台主服务器来支持多个
域,则在设置要为其他域提供服务的服务器时,必须对第93 页中的“用ypinit 设置主服务
器”中所述的步骤稍做修改。
在服务器上运行domainname 命令。该命令返回的域名是服务器的缺省域名。可以使用第
93 页中的“用ypinit 设置主服务器”中所述的步骤为该域设置服务。要为其他任何域配置
服务,必须按如下所示修改ypinit shell 脚本。
# make DOM=correct-domain passwd
correct-domain 是要为其设置服务的其他域的名称,passwd 是make 目标。此命令会将passwd
映射推送到目标域,而不是主服务器所属的域。
在主服务器上启动或停止NIS 服务
创建主服务器映射后,可以在主服务器上启动NIS 守护进程,并开始服务。启用NIS 服务
时,将在服务器上启动ypserv 和ypbind。当客户机向服务器请求信息时,ypserv 守护进程
将在NIS 映射中进行查找,然后再回答来自客户机的信息请求。ypserv 和ypbind 守护进程
作为一个单元来管理。
在服务器中启动或停止NIS 服务有三种方法:
 在引导过程中自动调用/usr/lib/netsvc/yp/ypstart 脚本
 从命令行使用服务管理工具svcadm enable 和svcadm disable 命令
有关SMF 的更多信息,请参见svcadm(1M)。
 从命令行使用ypstart(1M) 和ypstop (1M)。
8
9
在主服务器上启动或停止NIS 服务
94 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
自动启动NIS 服务
在通过运行ypinit 配置NIS 主服务器后,将自动调用ypstart,以便在计算机引导时启动
ypserv。请参见第93 页中的“用ypinit 设置主服务器”。
从命令行启动和停止NIS
使用服务管理工具svcadm 命令或ypstart/ypstop 命令可从命令行启动和停止NIS。使用
svcadm 时,仅当运行服务的多个实例时才需要使用实例名。有关更多信息,请参见第88 页
中的“NIS 和服务管理工具”,或参见svcadm(1M)、ypstart(1M) 和ypstop(1M) 手册页。
要从命令行启动NIS 服务,请运行svcadm enable 命令或ypstart 命令。
# svcadm enable network/nis/server:
# svcadm enable network/nis/client:
or
# ypstart
注– 由于ypserv 在启动之后需要经过短暂延迟才能够对调用做出响应,因此在从程序或脚
本内部调用svcadm 时,应在该命令之后发出三到五秒的休眠。
要停止NIS 服务,可运行svcadm disable 命令或ypstop 命令。
# svcadm disable network/nis/server:
# svcadm disable network/nis/client:
or
# ypstop
要停止并立即重新启动NIS 服务,可使用svcadm restart 命令。
# svcadm restart network/nis/server:
# svcadm restart network/nis/client:
在主服务器上启动或停止NIS 服务
第5 章• 设置和配置NIS 服务95
设置NIS 从属服务器
网络可以有一台或多台从属服务器。使用从属服务器可在主服务器不可用时确保NIS 服务
的连续性。
准备从属服务器
实际运行ypinit 以创建从属服务器之前,应对每个NIS 从属服务器运行domainname 命令,
以确保域名与主服务器一致。
注– 域名区分大小写。
配置NIS 从属服务器之前,请确保网络工作正常。需要特别指出的是,应检查以确保可以
使用rcp 从主NIS 服务器向NIS 从属服务器发送文件。
设置从属服务器
以下过程说明了如何设置从属服务器。
 如何设置从属服务器
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见System Administration
Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
编辑从属服务器上的/etc/hosts 或/etc/inet/ipnodes 文件,添加所有其他NIS 服务器的名
称和IP 地址。
转到从属服务器上的/var/yp 目录。
注– 必须先将新的从属服务器配置为NIS 客户机,它才能首次从主服务器中获取NIS 映射。
有关详细信息,请参见第97 页中的“设置NIS 客户机”。
将该从属服务器作为客户机进行初始化。
# /usr/sbin/ypinit -c
ypinit 命令会提示输入NIS 服务器的列表。请先输入您正在使用的本地从属服务器的名
称,然后输入主服务器的名称,随后按照从物理上最近到最远(从网络角度看)的顺序输
入域中其他NIS 从属服务器的名称。
1
2
3
4
设置NIS 从属服务器
96 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
确定NIS 客户机是否正在运行,然后根据需要启动客户机服务。
# svcs network/nis/client
STATE STIME FMRI
online 20:32:56 svc:/network/nis/client:default
如果svc:/network/nis/client 显示为online 状态,则表明NIS 正在运行。如果该服务的状
态为已被禁用,则表明NIS 未运行。
a. 如果NFS 客户机正在运行,请重新启动客户机服务。
# svcadm restart network/nis/client
b. 如果NFS 客户机未运行,请启动客户机服务。
# svcadm enable network/nis/client
将此计算机作为从属服务器进行初始化。
# /usr/sbin/ypinit -s master
其中,master 是现有的NIS 主服务器的计算机名。
对要配置为NIS 从属服务器的每台计算机重复本节所介绍的过程。
 如何在从属服务器中启动NIS
以下过程说明了如何在从属服务器中启动NIS。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见System Administration
Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
停止客户机服务并启动所有NIS 服务器进程。
# svcadm disable network/nis/client
# svcadm enable network/nis/server
设置NIS 客户机
下面介绍了配置客户机以使其将NIS 用作名称服务的两种方法。
注– Solaris 操作系统不支持NIS 客户机与本机LDAP客户机共存于同一台客户机上的配置。
 ypinit。配置客户机以使其使用NIS 的推荐方法是以root 身份登录计算机并运行ypinit
-c。
5
6
1
2
设置NIS 客户机
第5 章• 设置和配置NIS 服务97
# ypinit -c
运行此命令时,将要求您列举出客户机要从中获取名称服务信息的NIS 服务器。您可以
列出尽量多的主服务器或从属服务器。列出的服务器可以位于域中的任意位置。最好先
列出(从网络角度)离计算机最近的服务器,然后列出网络中处于更远距离的服务器。
 广播方法。较早的配置客户机以使其使用NIS 的方法是以root 身份登录计算机,用
domainname 命令设置域名,然后运行ypbind。
如果/var/yp/binding/‘domainname‘/ypservers 文件不存在,ypstart 将自动以广播模式
(ypbind -broadcast) 调用NIS 客户机。
# domainname doc.com
# mv /var/yp/binding/‘domainname‘/ypservers /var/yp/binding/‘domainname‘\
/ypservers.bak
# ypstart
运行ypbind 时,它将在本地子网中搜索NIS 服务器。如果找到服务器,ypbind 将绑定到
该服务器。此搜索方式称为广播。如果在客户机的本地子网中没有NIS 服务器,ypbind
将无法绑定,客户机也无法通过NIS 服务获取名称空间数据。
设置NIS 客户机
98 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
管理NIS(任务)
本章介绍了如何管理NIS。本章包含以下主题:
 第99 页中的“口令文件和名称空间安全”
 第100 页中的“管理NIS 用户”
 第103 页中的“使用NIS 映射”
 第108 页中的“更新和修改现有映射”
 第113 页中的“添加从属服务器”
 第114 页中的“使用启用C2 安全的NIS”
 第115 页中的“更改计算机的NIS 域”
 第115 页中的“将NIS 与DNS 结合使用”
 第117 页中的“禁用NIS 服务”
注– NIS 服务由服务管理工具管理。可以使用svcadm 命令对此服务执行启用、禁用或重新启
动等管理操作。有关将SMF 与NIS 结合使用的更多信息,请参见第88 页中的“NIS 和服务
管理工具”。有关SMF 的概述,请参阅System Administration Guide: Basic Administration中
的“Managing Services (Overview)”。另请参阅svcadm(1M) 和svcs(1) 手册页以获取更多详
细信息。
还可以使用ypstart 和ypstop 命令来启动和停止NIS 服务。有关更多信息,请参见
ypstart(1M) 和ypstop(1M) 手册页。
口令文件和名称空间安全
出于安全原因,请遵循以下原则。
 最好限制对主服务器上的NIS 映射的访问。
 用于生成NIS 口令映射的文件不应包含root 项,目的是防止未经授权的访问。为此,用
于生成口令映射的口令文件应将root 项从该文件移至位于主服务器的/etc 目录之外的
目录中。应确保此目录不会受到未经授权的访问。
6第6 章
99
例如,只要主服务器口令输入文件本身不是指向其他文件的链接并且在Makefile 中已指
定,就可将这些文件存储在诸如/var/yp 等目录或您选择的任何目录中。使用服务管理工具
或ypstart 脚本启动NIS 服务时,将根据Makefile 中指定的配置设置正确的目录选项。
注– 除了早期的Solaris 1 版本passwd 文件格式外,此NIS 实现还接受Solaris 2 passwd 和
shadow 文件格式作为生成NIS 口令映射的输入。
管理NIS 用户
本节包括有关设置用户口令、向NIS 域添加新用户以及将用户指定给netgroups 的信息。
 如何向NIS 域添加新NIS 用户
在主NIS 服务器上,成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见System Administration
Guide: Security Services中的“Using Role-Based Access Control (Tasks)”。
使用useradd 命令创建新用户的登录ID。
# useradd userID
userID 是新用户的登录ID。此命令将在主NIS 服务器上的/etc/passwd 和/etc/shadow 文件
中创建项。
创建新用户的初始口令。
要创建新用户可用来登录的初始口令,请运行passwd 命令。
# passwd userID
其中,userID 是新用户的登录ID。系统将提示您输入要指定给此用户的口令。
由于useradd 命令创建的口令项已锁定(这意味着新用户无法登录),因此必须执行此步
骤。通过指定初始口令,可以解除对该项的锁定。
如有必要,可将新项复制到服务器的passwd 映射输入文件中。
主服务器上的映射源文件应位于/etc 之外的目录中。将新行从/etc/passwd 和/etc/shadow
文件复制并粘贴到服务器上的passwd 映射输入文件中。有关其他信息,请参见第99 页中的
“口令文件和名称空间安全”。
例如,如果添加了新用户brown,则/etc/passwd 中要复制到passwd 输入文件的行如下所示

brown:x:123:10:User brown:/home/brown:/bin/csh:
要从/etc/shadow 中复制的有关brown 的行将如下所示:
brown:W12345GkHic:6445::::::
1
2
3
4
管理NIS 用户
100 系统管理指南:名称和目录服务(DNS、NIS 和LDAP) • 2006 年9 月
确保Makefile 正确指定口令输入文件所在的目录。
如果合适,请从/etc/passwd 和/etc/shadow 输入文件中删除新用户的项。
出于安全原因,请不要在NIS 主服务器/etc/passwd 和/etc/shadow 文件中保留用户项。在
将新用户的项复制到存储在其他某个目录中的NIS 映射源文件后,请在主服务器上使用
userdel 命令删除新用户。
例如,要从主服务器的/etc 文件中删除新用户brown,可以输入以下内容。
# userdel brown
有关userdel 的更多信息,请参见userdel 手册页。
更新NIS passwd 映射。
在更新主服务器上的passwd 输入文件后,请在包含源文件的目录中运行make,以更新
passwd 映射。
# userdel brown
# cd /var/yp
# /usr/ccs/bin/make passwd
将为其登录ID 指定的初始口令告知新用户。
登录后,新用户随时可以通过运行passwd 来建立不同口令。
设置用户口令
用户通过运行passwd 可以更改口令。
% passwd username
必须先在主服务器上启动rpc.yppasswdd 守护进程,以更新口令文件,用户才能更改口令。
rpc.yppasswdd 守护进程会在主服务器上自动启动。请注意,如果在rpc.yppasswdd 中包含
-m 选项,则在/var/yp 中修改文件后将立即强制执行make。如果要避免在每次更改passwd
文件后都执行此make,请在ypstart 脚本的rpc.yppasswd 命令中删除-m 选项,并通过
crontab 文件控制passwd 映射的推送。
注– rpc.yppasswd -m 命令后不应包含任何参数。尽管可以通过编辑ypstart 脚本文件来实现
不同操作,但除了可以选择删除-m 选项外,建议不要修改此文件。此文件调用的所有命令
和守护进程都具有适当的命令行参数集。如果选择编辑此文件,在编辑rpc.yppasswdd 命令
时应特别小心。如果添加对passwd.adjunct 文件的显式调用,必须使用路径
$PWDIR/security/passwd.adjunct;否则,将产生不正确的处理结果。
 
 

以上文章转自于 : http://developers.sun.com.cn/
阅读(739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~