color=green]第16章 NIS
第7节 配置实例
7.1 配置NIS主控服务器 3
7.2 配置NIS辅助服务器 5
7.3 配置NIS客户端 6
7.4 测试动态重绑定特性 6
7.5 添加自定义地图 7[/color]
[/size][align=center][size=4][url=https://yuhuohu.cublog.cn/][color=Red]本文节选自《Sun Solaris 9/10系统管理员认证指南》:[/color][/size]
[size=4][color=Red][url=https://yuhuohu.cublog.cn/][/color][/size]
[size=4][color=Red][url=https://yuhuohu.cublog.cn/]电子工业出版社 2007年10月出版 更多章节免费阅读[/color][/size]
[/align]
[url=https://bbs.chinaunix.net/viewthread.php?tid=944886]【此实例中涉及AUTOFS的内容如果你不理解,请点这里看autofs原理和配置】
环境准备
准备三个系统分别作为NIS主控服务器(clustera),辅助服务器(clusterb)以及NIS客户机(clusterc),NIS域名叫做nisdomain,确认在每个机器上的/etc/hosts文件中都有这些主机的条目。
任务概述
在这个实例中,将完成以下任务:
l 配置NIS主控服务器
l 配置NIS辅助服务器
l 配置NIS客户端
l 测试动态重绑定特性
l 添加自定义地图
===============================================================================
[color=green][size=4]
步骤分解[/size][/color]
1. 创建和配置NIS主控服务器。定义这三个系统构成的组所使用的NIS域名。设置域名,并记录在/etc/defaultdomain文件中。在/etc/目录下,用touch命令创建Makefile的all目标所需要的所有文件。编辑自动挂接主控地图和间接地图到注释“+”条目。
2. 在NIS主控服务器上,通过NFS共享/export/home目录。创建3个用户帐号并设置密码。配置/etc/passwd文件和自动挂接间接地图让用户能够从NIS主控服务器上挂接它们各自的主目录。用ypinit –m初始化NIS主控服务器。为NIS配置/etc/nsswitch.conf文件并开启NIS 服务器守护进程
3. 创建和配置NIS辅助服务器。设置和主控服务器相同的域名。用ypinit –c配置系统作为NIS客户。为NIS配置/etc/nsswitch.conf文件并开启NIS客户端守护进程。用ypinit –s命令配置系统作为一个NIS辅助服务器。停止并开启NIS守护进程。确认服务器列表可在ypservers地图中找到
4. 创建并配置NIS客户系统。设置和主控服务器相同的域名。用ypinit –c命令配置系统作为NIS客户。为NIS配置/etc/nsswitch.conf文件,并开启NIS客户端守护进程。使用ypwhich命令测试配置
5. 通过停止NIS主控服务器的NIS服务测试NIS动态重新绑定特性。用ypwhich命令监控NIS客户端,当客户端绑定到辅助服务器时注意观察ypwhich的输出。开启NIS服务器的NIS服务
6. 修改/var/yp/Makefile文件以支持新加的自动挂接直接地图(叫做auto_direct)。在/etc/中创建新的直接地图文件。配置直接地图和NFS共享让所有的3个系统都能自动挂接NIS主控服务器的帮助手册。
7. 测试用户是否都可以登陆到三个系统。验证它们的主目录是否自动挂接。验证经过所有三个系统的automount服务,帮助手册可以使用。
=================================================================================
[color=green][size=4]
7.1 配置NIS主控服务器[/size][/color]
1. 确认clustera机上的/etc/hosts文件中有所有NIS服务器和客户机(此例中为clustera、clusterb、clusterc这三台机器)的配置
2. 配置Makefile文件,定义NIS域名,创建相应的ASCII源文件,定义时间区域timezone
# cd /var/yp;cp Makefile Makefile.bak
# vi /var/yp/Makefile------------------------------------------------把目标all条目中的aliase删除,如下所示
all: passwd group hosts ipnodes ethers networks rpc services protocols \
netgroup bootparams publickey netid netmasks c2secure \
timezone auto.master auto.home ageing \
auth.attr exec.attr prof.attr user.attr audit.user
# domainname nisdomain
# domainname > /etc/defaultdomain
# cd /etc;touch ethers bootparams netgroup
# cat /etc/timezone
GMT+08:00 nisdomain
3. 编辑/etc/auto_master文件,把+auto_master这行注释掉
4. 编辑/etc/auto_home文件,注释掉+auto_home这行,并加入自动挂接NIS服务器上的用户家目录配置
# cat /etc/auto_home
#+auto_home
* clustera:/export/home/&
5. 配置NIS服务器,使/export/home目录成为共享资源
# cat /etc/dfs/dfstab-----------------------------------设置共享资源
share -d "home dirs" /export/home
6. 检查NFS服务器端进程mountd和nfsd是否在运行
Solaris 9 # pgrep –xl mountd
Solaris 9 # pgrep –xl nfsd
Solaris10# svcs -a grep nfs egrep -e "serverclient"
online 14:18:27 svc:/network/nfs/client:default
online 14:18:28 svc:/network/nfs/server:default
如果NFS服务器没在运行就开启它:
Solaris 9 # /etc/init.d/nfs.server start
Solaris10# svcadm enable nfs/server
7. 共享已设定的共享资源
# shareall
8. 创建用户帐号usera,userb,userc,设定用户家目录位于/export/home目录下,并设定密码
# useradd -d /export/home/usera -m usera
# useradd -d /export/home/userb -m userb
# useradd -d /export/home/userc -m userc
# passwd usera
# passwd userb
# passwd userc
# grep user /etc/passwd-----------------修改/etc/passwd,把用户家目录改为位于/home目录,如下所示
usera:x:3002:1::/home/usera:/bin/sh
userb:x:3003:1::/home/userb:/bin/sh
userc:x:3004:1::/home/userc:/bin/sh
9. 复制NIS切换文件模版
# cd /etc;cp nsswitch.conf nsswitch.bak;cp nsswitch.nis nsswitch.conf
10. 设置clustera成为NIS主控服务器(ypinit -m)
# ypinit -m <…此处输出省略…> next host to add: clustera-----------------主控服务器 next host to add: clusterb-----------------辅助服务器 next host to add: ^D------------------------按CTRL+D组合键停止输入服务器列表 <…此处输出省略…> Is this correct? [y/n: y] y <…此处输出省略…> Do you want this procedure to quit on non-fatal errors? [y/n: n] n <…此处输出省略…> Building /var/yp/nisdomain/ypservers... Running /var/yp /Makefile... <…此处输出省略,正常的话可看到NIS制作地图的信息显示…>
clustera has been set up as a yp master server without any errors.-------信息表明成功的成为主控服务器
If there are running slave yp servers, run yppush now for any data bases
which have been changed. If there are no running slaves, run ypinit on
those hosts which are to be slave servers.
11. 确认NIS服务器守护进程已启动,如未启动用下面命令启动
Solaris 9 # /usr/lib/netsvc/yp/ypstart
Solaris 10# svcadm enable nis/server
12. 确定本系统是NIS主控服务器
# ypwhich -m
audit_user clustera
user_attr clustera
<…输出省略…>
输出的内容显示了NIS域提供的每一个地图的名字,以及控制这些地图的主控服务器的名字
===============================================================================
[color=green][size=4]
7.2 配置NIS辅助服务器[/size][/color]
1. 确认clusterb机上的/etc/hosts文件中有所有NIS服务器和客户机(此例中为clustera、clusterb、clusterc这三台机器)的配置
2. 配置NIS域名
# domainname nisdomain
# domainname > /etc/defaultdomain
3. 配置clusterb机成为NIS客户机(ypinit -c)
# ypinit -c
next host to add: clustera
next host to add: clusterb
next host to add: ^D
Is this correct? [y/n: y] y
4. 复制NIS名称切换文件模版
# cd /etc;cp nsswitch.conf nsswitch.bak;cp nsswitch.nis nsswitch.conf
5. 启动NIS守护进程
Solaris 9 # /usr/lib/netsvc/yp/ypstart
starting NIS (YP server) services: ypserv ypbind done.
Solaris10# svcs -a grep nis egrep -e "serverclient"----------如果以下进程启动就用svcadm命令启动
online 15:53:52 svc:/network/nis/client:default
maintenance 15:55:43 svc:/network/nis/server:default
Solaris10# svcadm enable nis/server
Solaris10# svcadm enable nis/client
6. 确定本机已绑定到NIS主控服务器clustera机上
# ypwhich
clustera
7. 配置clusterb系统成为NIS辅助服务器
# ypinit -s clustera
……Do you want this procedure to quit on non-fatal errors? [y/n: n] n
注:如果在配置NIS主控服务器,指定NIS辅助服务器列表时,没有输入辅助服务器的名字(clusterb),那么将无法把clusterb配置成辅助NIS服务器,此时可以在NIS主控服务器上运行ypinit -m命令来添加辅助服务器的名字。
8. 停止和启动NIS服务器守护进程
Solaris 9 # /usr/lib/netsvc/yp/ypstop
Solaris 9 # /usr/lib/netsvc/yp/ypstart
Solaris10# svcadm disable nis/server
Solaris10# svcadm enable nis/server
9. 确定NIS工作正常
# ypwhich -m------------------和在clustera机上运行此命令的输出结果完全一样
# ypcat hosts-------------------查看hosts地图的内容,和clustera机上的/etc/hosts文件内容相同
# ypcat -k ypservers----------查看ypservers地图的内容,输出内容显示了NIS服务器的主机名
clusterb
clustera
===============================================================================
[color=green][size=4]
7.3 配置NIS客户端[/size][/color]
1. 确认clusterc机上的/etc/hosts文件中有所有NIS服务器(此例中为clustera、clusterb)的配置
2. 配置NIS域名
# domainname nisdomain # domainname > /etc/defaultdomain 3. 配置clusterc机成为NIS客户机(ypinit -c) # ypinit -c next host to add: clustera next host to add: clusterb next host to add: ^D Is this correct? [y/n: y] y
4. 复制NIS名称切换文件模版
# cd /etc;cp nsswitch.conf nsswitch.bak;cp nsswitch.nis nsswitch.conf
5. 启动NIS客户端进程
Solaris 9 # /usr/lib/netsvc/yp/ypstart starting NIS (YP server) services: ypserv ypbind done. Solaris10# svcadm enable nis/client
6. 确定本机已经可以使用NIS
# ypwhich -m
===============================================================================
[color=green][size=4]
7.4 测试动态重绑定特性[/size][/color]
clusterc# ypwhich------------------------------目前NIS客户机clusterc绑定在NIS主控服务器clustera上
clustera
clustera# svcadmin disable nis/server -----停止clustera的NIS服务器端进程(Solais 9用/usr/lib/netsvc/yp/stop脚本)
clusterc# ypwhich ----------------只有在用ypinit –c配置客户端时有输入辅助服务器主机名动态重绑定才起作用
Domain nisdomain not bound on clustera.
clusterc # ypwhich------------------------------NIS客户机成功的重新绑定到NIS辅助服务器clusterb上
clusterb
===============================================================================
[color=green][size=4]
7.5 添加自定义地图[/size][/color]
1. 在NIS主控服务器上编辑/var/yp/Makefile文件
a. 在Makefile文件的第二段落中的与目标all条目相关联的地图列表的最后加入auto.direct
all: passwd group hosts ipnodes ethers networks rpc services protocols \ netgroup bootparams publickey netid netmasks c2secure \ timezone auto.master auto.home ageing \ auth.attr exec.attr prof.attr user.attr audit.user auto.direct
b. 在Makefile文件的第四部分的auto.home和auto_home条目后加入auto.direct和auto_direct条目
auto.home: auto.home.time auto.direct: auto.direct.time <…输出省略…> $(DIR)/auto_home: $(DIR)/auto_direct:
c. 在Makefile文件的第三部分加入构建auto_direct地图所需的代码。可复制auto.home的代码段进行修改,把所有的auto.home和auto_home分别用auto.direct和auto_direct代替。
[color=red][size=4]请注意,以下所有的缩进都是用TAB键产生,不能用空格键!否则出错[/size][/color] auto.direct.time: $(DIR)/auto_direct -@if [ -f $(DIR)/auto_direct ]; then \ sed -e "/^#/d" -e s/#.*$$// $(DIR)/auto_direct \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto.direct; \ touch auto.direct.time; \ echo "updated auto.direct"; \ if [ ! $(NOPUSH) ]; then \ $(YPPUSH) auto.direct; \ echo "pushed auto.direct"; \ else \ : ; \ fi \ else \ echo "couldn't find $(DIR)/auto_direct"; \ fi fi
2. 编辑/etc/auto_master文件,在末尾加入以下配置
/- auto_direct -nosuid
3. 编辑/etc/auto_direct文件,加入如下内容
/usr/share/man -ro clustera:/usr/share/man2
4. 设定共享资源,并实施共享
# mv /usr/share/man /usr/share/man2 # vi /etc/dfs/dfstab-----------------------编辑此文件,加入以下条目设定共享资源 share -o ro /usr/share/man2 # shareall
5. 如果NFS守护进程未启动,用svcadm停止并启动
# svcadm disable nfs/server # svcadm enable nfs/server
6. 更新NIS地图
# cd /var/yp # /usr/ccs/bin/make updated netid <……> updated auto.direct-------------在推送auto.direct地图到辅助服务器时,按CTRL-C中断make命令 <Control-C>
7. 在辅助服务器clusterb上,通过ypxfr命令从主控服务器上获取auto.direct地图
# /usr/lib/netsvc/yp/ypxfr auto.direct
8. 在主控服务器上的/var/yp目录下再次运行make命令,此时可顺利完成
9. 重启所有的机器,然后完成以下步骤
a. 可用先前在NIS主控服务器上创建的用户帐号登陆NIS服务服务器和NIS客户机
b. 可使用命令帮助(比如在辅助服务器或客户机上执行man ls命令),说明新地图起作用