RHEL配置NIS網(wǎng)絡(luò)信息服務(wù)實例
在RHEL配置NIS網(wǎng)絡(luò)信息這個過程中,筆者從以下服務(wù)端的設(shè)定、客戶端的設(shè)定、重新啟動客戶端來測試結(jié)果等3大方面進行了詳細的描述。
NIS概述:
NIS,是Network Information Services的簡寫,意為網(wǎng)絡(luò)信息服務(wù) ;其最初是由Sun Microsystems組織開發(fā), 主要目標(biāo)是用于UNIX系統(tǒng)的集中管理。 目前,它基本上已
經(jīng)成為了業(yè)界標(biāo)準(zhǔn); 所有主流的類 UNIX 系統(tǒng) (Solaris,HP-UX,AIX,Linux,NetBSD,OpenBSD,FreeBSD等等) 都支持 NIS。
NIS原來的名稱為黃頁(Yellow Pages),但由于商標(biāo)的問題,Sun將其改名為現(xiàn)在的名字。NIS是一個基于 RPC 的客戶機/服務(wù)器系統(tǒng), 它允許在一個 NIS 域中的一組機器
共享一系列配置文件。 這樣, 系統(tǒng)管理員就可以配置只包含最基本配置數(shù)據(jù)的 NIS 客戶機系統(tǒng), 并在單點上(主NIS服務(wù)器)增加、刪除或修改配置數(shù)據(jù)。
在 NIS 環(huán)境中, 有三種類型的主機: 主服務(wù)器(master), 從服務(wù)器(slave),和客戶機(client)。服務(wù)器的作用是充當(dāng)主機配置信息的中央數(shù)據(jù)庫,保存著用戶帳號、
組帳號等配置信息的權(quán)威副本,而從服務(wù)器則是保存這些信息的冗余副本??蛻魴C將使用這些信息。
RHEL配置NIS配置示例:
本例中網(wǎng)絡(luò)模型如下:
server 192.168.0.16 NIS主服務(wù)器
client 192.168.0.128 NIS客戶端
一、服務(wù)端的設(shè)定
1、設(shè)定NIS域名
#nisdomainname benet
#vi /etc/sysconfig/network
添加:
NISDOMAIN=benet
#vi /etc/rc.local
添加:
/sbin/nisdomainname benet
2、默認情況下,RHEL4沒有安裝ypserv包,此軟件在***張光盤上,安裝上即可
查看是否已經(jīng)安裝ypserv
# rpm -qa |grep ^yp
ypbind-1.17.2-3
yp-tools-2.8-7
掛載***張光盤并安裝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
此部分配置比較簡單,大部分保持默認即可,***一段來定義訪問安全性。但一般情況下,管理員應(yīng)該使用securenets文件,未必用ypserv.conf定義安全性。
這部分語法如下:
[Host ] : [Domain ] : [Map ] : [Security]
[主機名稱/IP] : [NIS域名稱] : [可用資料庫名稱] : [安全限制]
字段如下:
host :授權(quán)或禁止訪問的計算機,它由地址/掩碼對確定.例如 192.168.1.0/255.255.255.0 . *表示所有主機;
map :該字段表示訪問的NIS映射表項名稱。例如:passwd.byuid。*表示映射表 中所有的字段都可用;
security :授權(quán)訪問類型
none :允許訪問,不加強安全性;
port :允許特權(quán)端口訪問;只接收源端口小于1024的連接;
deny :禁止訪問;
如本實驗中,我們應(yīng)該在主配置文件尾設(shè)置如下項:
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ù)器同時也是它們自己的NIS客戶端,所以你需要編輯NIS客戶端配置文件/etc/yp.conf,將其記錄域的NIS服務(wù)器同時也是主機。
# vi /etc/yp.conf
添加:
ypserver 127.0.0.1
5、啟動rpc、ypserv、yppasswdd等進程
# 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域
接下來使用 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,配置安全訪問
在RHEL配置NIS過程中添加如下內(nèi)容(你可以根據(jù)自己的網(wǎng)絡(luò)而作相應(yīng)的修改):
host 127.0.0.1
255.255.255.0 192.168.0.0
說明:此文件用來定義客戶端的對NIS服務(wù)器的訪問權(quán)限,它使用netmask/network來定義,實際使用中需要將其間的'/'符號換為空格;同時,如果僅用來定義某個主機的
訪問,需要將掩碼換為'host'指令。
8、啟動客戶端進程,并測試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
說明:redhat為手動建立的系統(tǒng)帳號
# ypmatch redhat passwd
redhat:$1$btyeQR8Z$TR0OkRrcrXYmgxY.MEN2R.:500:501::/home/redhat:/bin/bash
二、客戶端的設(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默認已經(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
其語法格式為:
domain NISDOMAIN server HOSTNAME
其中NISDOMAIN為你的NIS域名,HOSTNAME為你的NIS服務(wù)器名字,推薦使用IP;或者你也可以設(shè)置/etc/hosts文件,使用客戶端能解析NIS Server的主機名稱,此處則可以
寫作服務(wù)器的主機名;
4、設(shè)置/etc/nsswitch.conf文件
找到如下項:
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、查看客戶端portmap進程的啟動狀況,確定無誤后啟動其ypbind進程:
# 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è)置為開機自動啟動
#chkconfig --level 2345 ypbind on
6、測試客戶端的連接
# 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、配置客戶端在啟動時登錄到NIS域
# vi /etc/sysconfig/authconfig
找到如下行:
USENIS=no
修改為:
USENIS=yes
8、在服務(wù)器添加測試用戶
#userdd niSuSEr
#passwd nisuer
并使用如下命令重建maps數(shù)據(jù)庫,其使用方法見服務(wù)端設(shè)定部分
# /usr/lib/yp/ypinit -m
#p#
三、重新啟動客戶端來測試結(jié)果
1、客戶端登錄:
# 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目錄,以使得客戶端漫游配置文件:
# vi /etc/exports
/home 192.168.0.0/24(rw,no_root_squash,async)
啟動nfs服務(wù):
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
設(shè)置其開機自動啟動
# chkconfig --level 2345 nfs on
3、客戶端的設(shè)定
以root用戶登錄客戶端,掛載服務(wù)端的/home目錄至本機的/home目錄,而后測試使用niSuSEr用戶登錄
# 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文件,使其開機能自動掛載
192.168.0.16:/home /home ext3 defaults 0 0
4、在客戶端使用yppasswd命令修改個人密碼
[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: <----確認新密碼
The NIS password has been changed on server. <----修改的確認信息
在這篇文章中筆者從實例著手在3大方面對RHEL配置NIS信息服務(wù)上進行了詳細的分析,是用戶對RHEL配置有了更詳細的了解。
【編輯推薦】