在RHFC3 下配置NIS服务器 version 3

本文详细介绍了在Red Hat Fedora Core 3 (RHFC3) 系统下配置NIS服务器的步骤,包括设置NIS域名、启动ypserv、配置Makefile、创建NIS数据库、配置NIS客户端、使用autofs以及处理NIS slave服务器的配置。教程适用于学习和研究目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RHFC3 下配置NIS服务器

* 本文的目的是配置一个NIS服务器,以供自己学习研究使用

* 硬件环境:两台PCRH FC3

* 192.168.1.21 DNS服务器,hostname atslxt001,同时也是NIS slave server

* 192.168.1.23NIS master serverhostname atslxt003

* 时间:2005815日星期一

* 作者:kilvon

* 版本:3.0

* 修改历史:

* 1. 增加了autofs – 19/Aug/05

* 2. 增加了如何配置NIS slave server – 14/Sep/05

* 3. 增加了trouble shooting – 22/Sep/05

 

 

1. NIS (Network Information Service)

后台进程:ypserv, ypbind, yppasswdd

使用端口:由portmap统一分配

所需RPM包:ypserv, ypbind, yp-tools

相关RPM包:portmap

服务器端配置文件:/etc/ypserv.conf, /var/yp/*

 

2. 启动/停止进程

#service ypbind start/stop   //yp客户端

#service ypserv start/stop    //yp服务器端

 

3. yp服务器端的配置如下(本文假设atslxt003NIS服务器):

Ø      定义NIS domain nametcs.nis

Ø      启动ypserv daemon#service ypserv start

Ø      /var/yp/Makefile中,设置NIS Server选项并指定用于管理使用的配置文件

Ø      ypinit来创建NIS版本的配置文件

 

4.定义NIS domain

首先需要定义的就是这个NIS domain, 文件是/etc/sysconfig/network

NISDOMAIN=tcs.nis

在第一次配置的时候,如果不想重启系统,可以使用这个命令:

#domainname tcs.nis

 

5.配置/var/yp/Makefile文件

如果没有slave NIS server的话,NOPUSH选项应为:

NOPUSH=true

 

最小的User ID Group ID都设置为500

MINUID=500

MINGID=500

 

合并shadow passwordsreal passwords

为了让其他系统可以使用NIS来鉴权,必须允许NIS传送encrypted password。如果server使用shadow password的话,NIS会自动将/etc/shadow文件中加密的域并入/etc/passwd,而后者是在网络中共享的NIS文件。

MERGE_PASSWD=true

 

NIS将在下面的目录中寻找配置文件,缺省情况下是/etc

YPSRCDIR = /etc

YPPWDDIR = /etc

 

指定了需要在网络中共享的文件,注意只有第一行才共享了,其余的都被注释起来了

all:  passwd group hosts rpc services netid protocols mail /

      # netgrp shadow publickey networks ethers bootparams printcap /

      # amd.home auto.master auto.home auto.local passwd.adjunct /

      # timezone locale netmasks

 

6.创建NIS database

然后使用下列命令来创建数据库maps

#ypinit –m

这个-m选项是指定将本机设置为NIS master server,系统会提示输入slave server, 没有的话输入CTRL+D。设置好以后ypinit会自动调用make来创建database maps

在使用这个命令时一定要先启动ypserv并设定好domainname.

 

7Rebuild map

如果更新过那些共享之用的文件,每次更新后都需要运行make。比如,向/etc/passwd中新加了一个用户。

#cd /var/yp; make

 

8.配置NIS client

Ø      编辑/etc/yp.conf

该文件指定了client-side daemon ypbind如何启动和寻找NIS server的参数。Client寻找server有两种方式:或者使用broadcast或者指定serverhost name. 如果是需要在不同的subnets间切换那么使用broadcast方式,但是每个subnet必须都有NIS server存在。

       设置广播方式:

domain tcs.nis broadcast

设置server hostname方式:

domain tcs.nis server atslxt003

如果两种方式都设置了的话,系统先使用server hostname方式,找不到指定的NIS server 的话才使用broadcast方式。

设置完后

#service portmap restart

#service ypbind restart

也可以使用authconfig来配置,其实就是上面的操作。

Ø      设置启动文件

#service ypbind start/stop OR

#/etc/init.d/ypbind start/stop

Ø      编辑/etc/nsswitch.conf

nsswitch.conf的作用就是告诉系统按照何种顺序来搜索信息。文件的格式是:

filename    servicename1 servicename2

比如,在clients上可以这样设置:

passwd:    files nis

这就意味着系统首先搜索/etc/passwd文件,如果没有找到就搜索NIS

 

9.如何确定在当前的subnet上有NIS server?

可以通过ping广播地址的方式,如果回应的server中有NIS server那么就可以确认。

#ping –b 192.168.1.0

同时注意在/etc/hosts文件中必须有该atslxt003 server的地址,应为启动NIS的时候,可能DNS并没有启动,所以就没有办法访问NIS server上的数据文件。

 

10.如何判断NIS服务可用?

在客户端上运行:

#/usr/bin/ypcat passwd

 

11.检查某个rpc服务的port

#rpcinfo –p 192.168.1.23

 

12.使用autofs

#service autofs status/start/stop

主配置文件是/etc/auto.master,里面设定了当系统访问某个文件系统或者目录时,应该咨询哪个配置文件,比如:

/misc      /etc/auto.misc

/home     /etc/auto.home

 

然后针对每个文件配置(/etc/auto.misc):

kernel          -ro,soft,intr           ftp.kernel.org:/pub/linux

cd              -fstype=iso9660,ro      :/dev/cdrom

zip             -fstype=auto            :/dev/hdd4

floppy          -fstype=vfat            :/dev/fd0

第一个栏位是挂载点。中间栏位是选项;你可以在 mount man中找到相关的信息。最后一个栏位指出文档系统的来源。写著 "kernel" 的那一行表示用 NFS 来挂载文档系统。其他行的冒号表示这是本机的装置。

可以使用kill –SIGUSR1 来强行关闭。

13.设置NIS slave server的话,需要注意以下几点:

Ø        NIS maps是在NIS master server上创建的,然后从master server传送到slave server上;修改也必须在master server上进行,master会负责pushclient server上;

Ø        NIS slave server也同时必须是NIS client

Ø        NIS master server必须先于client server启动;

这里假设atslxt001 NIS slave server, atslxt003 NIS master server

1)        首先必须保证host可以解析NIS master slaveip地址;在双方的/etc/hosts中都分别加入记录先~

2)        NIS slave server先配置为NIS client,略;

3)        atslxt003atslxt001上分别启动NIS map transfer daemon

# service ypxfrd start

# chkconfig –level 35 ypxfrd on

4)        atslxt001上检查一下是否可以访问atslxt003 -mmaster server的意思;

# ypwhich -m

5)        NIS slave atslxt001)上运行一下命令,这里atslxt003NIS master

# /usr/lib/yp/ypinit -s atslxt003

//这一步有错的话,可能是glibc的问题,我就遇到过,报错消息是pointer错误什么的,于是去升级到最新版的就可以了,目前的最新版本是:glibc-2.3.5-10.3

6)        slave master上都加入纪录到/etc/yp.conf

domain tcs.nis server atslxt003

domain tcs.nis server atslxt001

7)        如果需要更新map,在NIS master 上,把新的slave server的名称加入 /var/yp/ypservers中,并且更新maps

# cd /var/yp

# make

附录1

Ø        NIS使用maps文件保存数据库信息,其中使用了key-value pairs。比如,一个用户的login name与相应的加密口令就是一个key-value pairMaps存储在nis server上,客户端通过RPC call来调用信息。一般的,maps是用DBM格式保存的。

比如,master file/etc/hosts,那么maps就是hosts.bynamehosts.byaddr

ypcatypmatch会使用nicknames,用来检查NIS的配置。用以下命令来显示所有nicknames

# ypcat –x

注意maps只在NIS master上可以创建,然后会被分发到所有的slaves上。

Dynamic bindingypbind通过广播的方式来探测yp server,最先回应的会被作为最快的yp server而在接下来的NIS query中使用。

Ø        如果出现以下错误

Ypclient ypserv[28362]: refused connect from 192.168.1.21:809 to procedure ypproc_match (tcs.nis,hosts.byname;-4)

那么需要修改/etc/nsswitch.conf里的纪录如下所示:

passwd: files nis
shadow: files
group: files nis

hosts: files nis dns

注意shadow后面不能有nis

Ø        配置好后可以通过如下方法检验

nis server上加入一个账号:

#useradd nisuser1

#passwd nisusers1

 

nis client上:

#ypmatch nisuser1 passwd //or next command

#getent passwd nisuser1

 

Ø        ypxfr出错有个原因是glibc的版本问题,前面已有叙述;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值