RHEL配置NIS網(wǎng)絡(luò)信息服務(wù)實(shí)例
在RHEL配置NIS網(wǎng)絡(luò)信息這個(gè)過(guò)程中,筆者從以下服務(wù)端的設(shè)定、客戶(hù)端的設(shè)定、重新啟動(dòng)客戶(hù)端來(lái)測(cè)試結(jié)果等3大方面進(jìn)行了詳細(xì)的描述。
NIS概述:
NIS,是Network Information Services的簡(jiǎn)寫(xiě),意為網(wǎng)絡(luò)信息服務(wù) ;其最初是由Sun Microsystems組織開(kāi)發(fā), 主要目標(biāo)是用于UNIX系統(tǒng)的集中管理。 目前,它基本上已
經(jīng)成為了業(yè)界標(biāo)準(zhǔn); 所有主流的類(lèi) UNIX 系統(tǒng) (Solaris,HP-UX,AIX,Linux,NetBSD,OpenBSD,FreeBSD等等) 都支持 NIS。
NIS原來(lái)的名稱(chēng)為黃頁(yè)(Yellow Pages),但由于商標(biāo)的問(wèn)題,Sun將其改名為現(xiàn)在的名字。NIS是一個(gè)基于 RPC 的客戶(hù)機(jī)/服務(wù)器系統(tǒng), 它允許在一個(gè) NIS 域中的一組機(jī)器
共享一系列配置文件。 這樣, 系統(tǒng)管理員就可以配置只包含最基本配置數(shù)據(jù)的 NIS 客戶(hù)機(jī)系統(tǒng), 并在單點(diǎn)上(主NIS服務(wù)器)增加、刪除或修改配置數(shù)據(jù)。
在 NIS 環(huán)境中, 有三種類(lèi)型的主機(jī): 主服務(wù)器(master), 從服務(wù)器(slave),和客戶(hù)機(jī)(client)。服務(wù)器的作用是充當(dāng)主機(jī)配置信息的中央數(shù)據(jù)庫(kù),保存著用戶(hù)帳號(hào)、
組帳號(hào)等配置信息的權(quán)威副本,而從服務(wù)器則是保存這些信息的冗余副本??蛻?hù)機(jī)將使用這些信息。
RHEL配置NIS配置示例:
本例中網(wǎng)絡(luò)模型如下:
server 192.168.0.16 NIS主服務(wù)器
client 192.168.0.128 NIS客戶(hù)端
一、服務(wù)端的設(shè)定
1、設(shè)定NIS域名
#nisdomainname benet
#vi /etc/sysconfig/network
添加:
NISDOMAIN=benet
#vi /etc/rc.local
添加:
/sbin/nisdomainname benet
2、默認(rèn)情況下,RHEL4沒(méi)有安裝ypserv包,此軟件在***張光盤(pán)上,安裝上即可
查看是否已經(jīng)安裝ypserv
# rpm -qa |grep ^yp
ypbind-1.17.2-3
yp-tools-2.8-7
掛載***張光盤(pán)并安裝ypserv
# mount /dev/cdrom /media/cdrom
# rpm -ivh /media/cdrom/RedHat/RPMS/ypserv-2.13-5.i386.rpm
warning: /media/cdrom/RedHat/RPMS/ypserv-2.13-5.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:ypserv ########################################### [100%]
3、主配置文件/etc/ypserv.conf
此部分配置比較簡(jiǎn)單,大部分保持默認(rèn)即可,***一段來(lái)定義訪問(wèn)安全性。但一般情況下,管理員應(yīng)該使用securenets文件,未必用ypserv.conf定義安全性。
這部分語(yǔ)法如下:
[Host ] : [Domain ] : [Map ] : [Security]
[主機(jī)名稱(chēng)/IP] : [NIS域名稱(chēng)] : [可用資料庫(kù)名稱(chēng)] : [安全限制]
字段如下:
host :授權(quán)或禁止訪問(wèn)的計(jì)算機(jī),它由地址/掩碼對(duì)確定.例如 192.168.1.0/255.255.255.0 . *表示所有主機(jī);
map :該字段表示訪問(wèn)的NIS映射表項(xiàng)名稱(chēng)。例如:passwd.byuid。*表示映射表 中所有的字段都可用;
security :授權(quán)訪問(wèn)類(lèi)型
none :允許訪問(wèn),不加強(qiáng)安全性;
port :允許特權(quán)端口訪問(wèn);只接收源端口小于1024的連接;
deny :禁止訪問(wèn);
如本實(shí)驗(yàn)中,我們應(yīng)該在主配置文件尾設(shè)置如下項(xiàng):
127.0.0.0/255.255.255.0 : * : * : none
192.168.0.0/255.255.255.0 : * : * : none
* : * : * : deny
4、編輯 /etc/yp.conf 文件
NIS服務(wù)器同時(shí)也是它們自己的NIS客戶(hù)端,所以你需要編輯NIS客戶(hù)端配置文件/etc/yp.conf,將其記錄域的NIS服務(wù)器同時(shí)也是主機(jī)。
# vi /etc/yp.conf
添加:
ypserver 127.0.0.1
5、啟動(dòng)rpc、ypserv、yppasswdd等進(jìn)程
# service portmap start
Starting portmap: [ OK ]
# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
# service ypserv start
Starting YP server services: [ OK ]
# rpcinfo -u localhost ypserv
program 100004 version 1 ready and waiting
program 100004 version 2 ready and waiting
#
service yppasswdd start
Starting YP passwd service: [ OK ]
# rpcinfo -u localhost yppasswdd
program 100009 version 1 ready and waiting
# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
100004 2 udp 613 ypserv
100004 1 udp 613 ypserv
100004 2 tcp 616 ypserv
100004 1 tcp 616 ypserv
100009 1 udp 628 yppasswdd
#p#
6、初始化NIS域
接下來(lái)使用 ypinit 命令去創(chuàng)立域maps文件
# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers. server.mshome.net is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a .
next host to add: server.mshome.net
next host to add:
The current list of NIS servers looks like this:
server
Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/benet/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/benet'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: Leaving directory `/var/yp/benet'
server has been set up as a NIS master server.
Now you can run ypinit -s server on all slave server.
7、設(shè)置/var/yp/securenets,配置安全訪問(wèn)
在RHEL配置NIS過(guò)程中添加如下內(nèi)容(你可以根據(jù)自己的網(wǎng)絡(luò)而作相應(yīng)的修改):
host 127.0.0.1
255.255.255.0 192.168.0.0
說(shuō)明:此文件用來(lái)定義客戶(hù)端的對(duì)NIS服務(wù)器的訪問(wèn)權(quán)限,它使用netmask/network來(lái)定義,實(shí)際使用中需要將其間的'/'符號(hào)換為空格;同時(shí),如果僅用來(lái)定義某個(gè)主機(jī)的
訪問(wèn),需要將掩碼換為'host'指令。
8、啟動(dòng)客戶(hù)端進(jìn)程,并測(cè)試NIS服務(wù)器
# service ypbind start
Binding to the NIS domain: [ OK ]
Listening for an NIS domain server..
[root@server ~]# yptest
Test 1: domainname
Configured domainname is "benet"
Test 2: ypbind
Used NIS server: 192.168.0.16
………………
………………
# ypwhich -x
Use "ethers" for map "ethers.byname"
Use "aliases" for map "mail.aliases"
Use "services" for map "services.byname"
Use "protocols" for map "protocols.bynumber"
Use "hosts" for map "hosts.byname"
Use "networks" for map "networks.byaddr"
Use "group" for map "group.byname"
Use "passwd" for map "passwd.byname"
#ypcat passwd
redhat:$1$btyeQR8Z$TR0OkRrcrXYmgxY.MEN2R.:500:501::/home/redhat:/bin/bash
說(shuō)明:redhat為手動(dòng)建立的系統(tǒng)帳號(hào)
# ypmatch redhat passwd
redhat:$1$btyeQR8Z$TR0OkRrcrXYmgxY.MEN2R.:500:501::/home/redhat:/bin/bash
二、客戶(hù)端的設(shè)定
1、設(shè)定NIS域名
#nisdomainname benet
#vi /etc/sysconfig/network
添加:
NISDOMAIN=benet
#vi /etc/rc.local
添加:
/sbin/nisdomainname benet
2、查看是否已經(jīng)安裝相應(yīng)的rpm包ypbind和yptools,RHEL4默認(rèn)已經(jīng)安裝
# rpm -qa |grep ^yp
ypbind-1.17.2-3
yp-tools-2.8-7
3、設(shè)置主配置文件/etc/yp.conf
#vi /etc/yp.conf
添加如下行:
domain benet server 192.168.0.16
其語(yǔ)法格式為:
domain NISDOMAIN server HOSTNAME
其中NISDOMAIN為你的NIS域名,HOSTNAME為你的NIS服務(wù)器名字,推薦使用IP;或者你也可以設(shè)置/etc/hosts文件,使用客戶(hù)端能解析NIS Server的主機(jī)名稱(chēng),此處則可以
寫(xiě)作服務(wù)器的主機(jī)名;
4、設(shè)置/etc/nsswitch.conf文件
找到如下項(xiàng):
passwd: files
shadow: files
group: files
#hosts: db files ldap nis dns
hosts: files dns
將其修改為:
passwd: files nis
shadow: files nis
group: files nis
#hosts: db files ldap nis dns
hosts: files nis dns
5、查看客戶(hù)端portmap進(jìn)程的啟動(dòng)狀況,確定無(wú)誤后啟動(dòng)其ypbind進(jìn)程:
# service portmap status
portmap (pid 1774) is running...
# service ypbind start
Shutting down NIS services: [ OK ]
Binding to the NIS domain: [ OK ]
Listening for an NIS domain server.
將ypbind設(shè)置為開(kāi)機(jī)自動(dòng)啟動(dòng)
#chkconfig --level 2345 ypbind on
6、測(cè)試客戶(hù)端的連接
# ypcat passwd
redhat:$1$btyeQR8Z$TR0OkRrcrXYmgxY.MEN2R.:500:501::/home/redhat:/bin/bash
# ypmatch redhat passwd
redhat:$1$btyeQR8Z$TR0OkRrcrXYmgxY.MEN2R.:500:501::/home/redhat:/bin/bash
# ypwhich -x
Use "ethers" for map "ethers.byname"
Use "aliases" for map "mail.aliases"
Use "services" for map "services.byname"
Use "protocols" for map "protocols.bynumber"
Use "hosts" for map "hosts.byname"
Use "networks" for map "networks.byaddr"
Use "group" for map "group.byname"
Use "passwd" for map "passwd.byname"
# ypcat hosts
192.168.0.16 server
127.0.0.1 localhost.localdomain localhost
7、配置客戶(hù)端在啟動(dòng)時(shí)登錄到NIS域
# vi /etc/sysconfig/authconfig
找到如下行:
USENIS=no
修改為:
USENIS=yes
8、在服務(wù)器添加測(cè)試用戶(hù)
#userdd niSuSEr
#passwd nisuer
并使用如下命令重建maps數(shù)據(jù)庫(kù),其使用方法見(jiàn)服務(wù)端設(shè)定部分
# /usr/lib/yp/ypinit -m
#p#
三、重新啟動(dòng)客戶(hù)端來(lái)測(cè)試結(jié)果
1、客戶(hù)端登錄:
# ssh -l niSuSEr 192.168.0.128
niSuSEr@192.168.0.128's password:
Last login: Wed Jul 11 17:59:14 2007 from server
Could not chdir to home directory /home/niSuSEr: No such file or directory
-bash-3.00$
2、在服務(wù)端輸出/home目錄,以使得客戶(hù)端漫游配置文件:
# vi /etc/exports
/home 192.168.0.0/24(rw,no_root_squash,async)
啟動(dòng)nfs服務(wù):
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
設(shè)置其開(kāi)機(jī)自動(dòng)啟動(dòng)
# chkconfig --level 2345 nfs on
3、客戶(hù)端的設(shè)定
以root用戶(hù)登錄客戶(hù)端,掛載服務(wù)端的/home目錄至本機(jī)的/home目錄,而后測(cè)試使用niSuSEr用戶(hù)登錄
# ssh -l niSuSEr 192.168.0.128
niSuSEr@192.168.0.128's password:
[niSuSEr@client ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .emacs .gtkrc .kde
[niSuSEr@client ~]$ ls /home
lost+found niSuSEr redhat
編輯/etc/fstab文件,使其開(kāi)機(jī)能自動(dòng)掛載
192.168.0.16:/home /home ext3 defaults 0 0
4、在客戶(hù)端使用yppasswd命令修改個(gè)人密碼
[niSuSEr@client ~]$ yppasswd
Changing NIS account information for niSuSEr on server.
Please enter old password: <----此處要輸入舊密碼
Changing NIS password for niSuSEr on server.
Please enter new password: <----新密碼
Please retype new password: <----確認(rèn)新密碼
The NIS password has been changed on server. <----修改的確認(rèn)信息
在這篇文章中筆者從實(shí)例著手在3大方面對(duì)RHEL配置NIS信息服務(wù)上進(jìn)行了詳細(xì)的分析,是用戶(hù)對(duì)RHEL配置有了更詳細(xì)的了解。
【編輯推薦】