免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 12733 | 回复: 20
打印 上一主题 下一主题

Solaris 9/10 SCSA(310-015,310-202)中文教材:NIS配置实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-20 13:26 |只看该作者 |倒序浏览
哥们,看帖要推荐啊,点这里\"\"

第16章 NIS

第7节 配置实例
7.1 配置NIS主控服务器        3
7.2 配置NIS辅助服务器        5
7.3 配置NIS客户端        6
7.4 测试动态重绑定特性        6
7.5 添加自定义地图        7






【此实例中涉及AUTOFS的内容如果你不理解,请点这里看autofs原理和配置】

环境准备
准备三个系统分别作为NIS主控服务器(clustera),辅助服务器(clusterb)以及NIS客户机(clusterc),NIS域名叫做nisdomain,确认在每个机器上的/etc/hosts文件中都有这些主机的条目。
任务概述
在这个实例中,将完成以下任务:
l        配置NIS主控服务器
l        配置NIS辅助服务器
l        配置NIS客户端
l        测试动态重绑定特性
l        添加自定义地图

===============================================================================

步骤分解


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服务,帮助手册可以使用。

=================================================================================

7.1 配置NIS主控服务器


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 "server|client"
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:3002:1::/home/usera:/bin/sh
userb:3003:1::/home/userb:/bin/sh
userc: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域提供的每一个地图的名字,以及控制这些地图的主控服务器的名字


===============================================================================

7.2 配置NIS辅助服务器


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 "server|client"----------如果以下进程启动就用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


===============================================================================

7.3 配置NIS客户端


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


===============================================================================

7.4 测试动态重绑定特性


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


===============================================================================

7.5 添加自定义地图


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代替。
请注意,以下所有的缩进都是用TAB键产生,不能用空格键!否则出错
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命令),说明新地图起作用



前几日,挚友儿子满月,一直寻思该送什么礼物表示祝贺,咱做技术的实在是想不出啥,思前想后,最后决定来篇技术心得,希望在对大家有所帮助的同时,请大家一起送上祝福!谢谢~大家一起来点撒~



鄙视一声不坑,正在偷偷摸摸,准备下载了就跑的哥们~
:em12::em12:

[ 本帖最后由 yuhuohu 于 2009-7-4 20:32 编辑 ]

scsa-Solaris 9&10 NIS配置实例.rar

186.48 KB, 下载次数: 1185

论坛徽章:
0
2 [报告]
发表于 2007-06-20 14:08 |只看该作者
原帖由 waily 于 2007-6-20 14:06 发表
多谢多谢~


应该的~

论坛徽章:
0
3 [报告]
发表于 2007-06-20 16:44 |只看该作者
原帖由 startserver 于 2007-6-20 15:33 发表

我们还在用,nis+autofs,差点把人搞死,不过现在比较熟了。



感动ing

论坛徽章:
0
4 [报告]
发表于 2007-07-18 18:19 |只看该作者

回复 #1 yuhuohu 的帖子

请问在 配置NIS客户端时是否需要启动rpcbind及nfsserver.client和其他进程?
只单起 /usr/lib/netsvc/yp/ypstart时
starting NIS (YP server) services: ypbind done.
在执行ypwhich时很忙,没有结果,肯定不行的!
root # ypwhich -m
....................

论坛徽章:
0
5 [报告]
发表于 2007-07-18 20:59 |只看该作者
大师能否搞一个NTP的配置。。。。。。。。。

论坛徽章:
0
6 [报告]
发表于 2007-07-19 09:27 |只看该作者

NIS客户端时是否需要启动rpcbind及nfsserver.client和其他进程?

原帖由 wangyl1977 于 2007-7-18 18:19 发表
请问在 配置NIS客户端时是否需要启动rpcbind及nfsserver.client和其他进程?
只单起 /usr/lib/netsvc/yp/ypstart时
starting NIS (YP server) services: ypbind done.
在执行ypwhich时很忙,没有结果,肯定不行 ...




再问一次,NIS客户端时是否需要启动rpcbind及nfsserver.client和其他进程?
我的nis server和client 都是solaris 7,不是9

论坛徽章:
0
7 [报告]
发表于 2007-07-19 10:52 |只看该作者
不懂,看看,学习,看看,再学习

论坛徽章:
0
8 [报告]
发表于 2007-07-19 11:00 |只看该作者
看了一下其他人的文档,好象客户端也不要求启动nfs和rpc.
但还有一个问题, 你文中的nisdomain和该主机所属的域是一个概念吗? 必须一致吗?
我是将nisdomianname和该主机所属的域(我配的是abc.com),结果在执行时报错!
root # /usr/lib/netsvc/yp/ypstart
starting NIS (YP server) services: ypbind done.
root # ypwhich -m
dump_ypmaps: Can't bind for domain abc.com.  Reason: can't communicate with rpcbind

十分感谢!

论坛徽章:
0
9 [报告]
发表于 2007-07-19 14:56 |只看该作者

回复 #8 wangyl1977 的帖子

是不是在客户端必须能telnet nisserver端的111端口啊?
如果因为防火墙的原因客户端无法连接server端的rpc(对应111端口)的话,是不是就
can't communicate with rpcbind.
感觉是这个原因,重新配一个

论坛徽章:
0
10 [报告]
发表于 2007-07-23 15:33 |只看该作者

我照着做了,怎么发现不行啊?

1. 配置server端的/etc/hosts
  # vi /etc/hosts
  #
  127.0.0.1       localhost      
  1.1.1.8     hosta
  1.1.1.67    hostb
2.        配置Makefile文件,定义NIS域名
   #cd /var/yp;cp Makefile Makefile.bak
................

all: passwd group hosts ethers networks rpc services protocols \
        netgroup bootparams  aliases publickey netid netmasks c2secure \
        timezone auto.master auto.home

c2secure:
        -@if [ -f $(PWDIR)/security/passwd.adjunct ]; then \
                if [ ! $(NOPUSH) ]; then $(MAKE)  $(MFLAGS) -k \
将netgroup bootparams  aliases publickey netid netmasks c2secure \
行里面的aliases删除,保存

3.
# domainname nicnis
# domainname > /etc/defaultdomain
# cd /etc;touch ethers bootparams netgroup
#ls -rlt
-----------------------------------------------------------------------
-rw-r--r--   1 root     other          0 Jul 20 17:21 netgroup
-rw-r--r--   1 root     other          0 Jul 20 17:21 ethers
-rw-r--r--   1 root     other          0 Jul 20 17:21 bootparams
------------------------------------------------------------------------
root # vi /etc/timezone
"/etc/timezone" 1 line, 25 characters
GMT+08:00       nicnis


3.        编辑/etc/auto_master文件,把+auto_master这行注释掉
root # more /etc/auto_master
# Master map for automounter
#
#+auto_master
/net            -hosts          -nosuid,nobrowse
/home           auto_home       -nobrowse
/xfn            -xfn

4.        编辑/etc/auto_home文件
# more /etc/auto_home
# Home directory map for automounter
#
#+auto_home
*       hosta:/disk4/home/&

5.        配置NIS服务器,使/disk4/home目录成为共享资源
# cat /etc/dfs/dfstab-----------------------------------设置共享资源
share -d "home dirs" /disk4/home

6.        检查NFS服务器端进程mountd和nfsd是否在运行
启动nfsserver时要先启动rpcbind,否则nfs.server的启动会有问题
#/etc/rc2.d/S71rpc start
#/etc/init.d/nfs.server start

7.        共享已设定的共享资源
# shareall
# share
-               /disk4/home   rw   "home dirs"


8.        创建用户帐号usera,userb,userc,设定用户家目录位于/export/home目录下,并设定密码
# useradd -d /disk4/home/usera -m usera
# useradd -d /disk4/home/userb -m userb
# useradd -d /disk4/home/userc -m userc
# passwd usera
# passwd userb
# passwd userc
# grep user /etc/passwd-----------------修改/etc/passwd,把用户家目录改为位于/home目录,如下所示
usera:1025:1::/home/usera:/bin/sh
userb:1026:1::/home/userb:/bin/sh
userc:1027:1::/home/userc:/bin/sh


9.        复制NIS切换文件模版
# cd /etc;cp nsswitch.conf nsswitch.bak;cp nsswitch.nis nsswitch.conf

hosta:root # ls -rlt nss*
-rw-r--r--   1 root     sys          686 Sep  1  1998 nsswitch.files
-rw-r--r--   1 root     sys         1184 Sep  1  1998 nsswitch.nisplus
-rw-r--r--   1 root     sys          915 Sep  1  1998 nsswitch.nis
-rw-r--r--   1 root     sys          835 Mar 11  1999 nsswitch.dns
-rw-r--r--   1 nobody   nobody        22 Sep 12  1999 nsserver.cfg
-rw-r--r--   1 root     other        835 Jul 18 17:57 nsswitch.bak
-rw-r--r--   1 root     sys          835 Jul 20 14:58 nsswitch.conf

10.        设置hosta成为NIS主控服务器(ypinit -m)
# ypinit -m
<…此处输出省略…>
        next host to add:  hosta-----------------主控服务器
         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制作地图的信息显示…>
hosta has been set up as a yp master server without any errors.-------信息表明成功的成为主控服务器


11.    确认NIS服务器守护进程已启动,如未启动用下面命令启动
# /usr/lib/netsvc/yp/ypstart


12.        确定本系统是NIS主控服务器
# ypwhich -m
auto.master hosta
timezone.byname hosta
netmasks.byaddr hosta
auto.home hosta
netid.byname hosta
publickey.byname hosta
bootparams hosta
netgroup.byhost hosta
netgroup.byuser hosta
protocols.byname hosta
services.byservicename hosta
services.byname hosta
rpc.bynumber hosta
networks.byaddr hosta
networks.byname hosta
ethers.byname hosta
netgroup hosta
ethers.byaddr hosta
hosts.byaddr hosta
hosts.byname hosta
group.bygid hosta
group.byname hosta
passwd.byuid hosta
protocols.bynumber hosta
ypservers hosta
passwd.byname hosta


===============================================================================

7.3 配置NIS客户端

1.        确认hostc机上的/etc/hosts文件中有所有NIS服务器(此例中为hosta、hostb)的配置

# more /etc/hosts
127.0.0.1       localhost      
1.1.1.67    hostb
1.1.1.8     hosta

2.        配置NIS域名
# domainname nicnis
# domainname > /etc/defaultdomain

3.        配置hostc机成为NIS客户机(ypinit -c)
# ypinit -c
        next host to add:  hosta
        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客户端进程
#  /usr/lib/netsvc/yp/ypstop   
# ps -ef|grep yp
    root 12911 12114  0 15:04:39 pts/0    0:00 grep yp
# /usr/lib/netsvc/yp/ypstart
starting NIS (YP server) services: ypbind done.

6.        确定本机已经可以使用NIS

# telnet hosta 111
Trying 1.1.1.8...
Connected to hosta.
Escape character is '^]'.
^CConnection closed by foreign host.

# ypwhich -m
dump_ypmaps: Can't bind for domain nicnis.  Reason: can't communicate with rpcbind

以为客户端这边也要起rpcbind, 执行/etc/rc2.d/S71rpc start后,发现再运行
ypwhich -m就是半天没动静.

这个机器已是我加过的第二台客户端机了,之前的那台也是报同样的错误,刚开始以为是客户机不能连接服务端的111端口,
这个客户端机器是可以连接服务器的啊!
搞晕了!
求教大家了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP