NIS服務(wù)器架設(shè)以及客戶端設(shè)定
一、NIS服務(wù)器的功能。
NIS服務(wù)器的功能專門用來管理賬號(hào)和密碼的服務(wù)器,以提供其他linux主機(jī)需要用戶和密碼登陸時(shí),就必須要到這部專門管理用戶密碼的主機(jī)來查尋使用者的帳號(hào)與密碼。
全稱:Network Information Service 最早應(yīng)該是稱為 Sun Yellow Pages (簡稱 yp).
NIS服務(wù)功能原理:
NIS Server (master/slave) 的運(yùn)作原理∶
NIS Master 先將本身的帳號(hào)密碼相關(guān)檔案制作成為資料庫檔案以便快速傳輸和讀寫。
NIS Master 可以主動(dòng)的告知 NIS slave server 來更新;
NIS slave 亦可主動(dòng)的前往 NIS master server 取得更新后的資料庫檔案;
若有帳號(hào)密碼的異動(dòng)時(shí),需要重新制作 database 與重新同步化 master/slave。
NIS Client 有任何登入查詢的需求時(shí)∶
NIS client 若有登入需求時(shí),會(huì)先查詢其本機(jī)的 /etc/passwd, /etc/shadow 等檔案;
若在 NIS Client 本機(jī)找不到相關(guān)的帳號(hào)資料,才開始向整個(gè) NIS 網(wǎng)域的主機(jī)廣播查詢;
每部 NIS server (不論 master/slave) 都可以回應(yīng),基本上是『先回應(yīng)者優(yōu)先』。
二、NIS服務(wù)器的設(shè)定。
1、檢查是否安裝如下四個(gè)rpm文件。
[root@linux etc]# rpm -qa |grep ^yp
ypbind-1.19-8.el5
ypserv-2.19-3
yp-tools-2.9-0.1
[root@linux etc]# rpm -qa |grep portmap
portmap-4.0-65.2.2.1
2、設(shè)定NIS域名稱。
[root@linux ~]# nisdomainname zwtnis
[root@linux ~]# vi /etc/rc.d/rc.local
# 加入底下這一行,開機(jī)即啟動(dòng)NIS域名稱
/bin/nisdomainname zwtnis
#p#3、設(shè)定/etc/ypserv.conf文件
(一般都無需改變,不考慮安全的話,可以直接將***一行改為
* : * : * : none)即可使用。
[root@linux ~]# vi /etc/ypserv.conf
dns: no
files: 30
# 預(yù)設(shè)會(huì)有 30 個(gè)資料庫被讀入記憶體當(dāng)中。
slp: no
slp_timeout: 3600
# 這兩個(gè)與 SLP 服務(wù)有關(guān),因?yàn)槲覀儍H使用單純的 NIS ,所以不需要啟動(dòng)。
xfr_check_port: yes
# 這個(gè)與 master/slave 有關(guān),將同步更新的資料庫比對(duì)所使用的埠口,
# 放置于小于 1024 的埠口內(nèi)。
# 底下則是設(shè)定限制用戶端或 slave server 查詢的權(quán)限,利用冒號(hào)隔成四部分,分別為∶
# [主機(jī)名稱/IP] : [NIS網(wǎng)域名稱] : [可用資料庫名稱] : [安全限制]
# [安全限制] ∶包括沒有限制 (none)、僅能使用 <1024 (port) 及拒絕 (deny)
# 一般來說,你可以依照我們的網(wǎng)域來設(shè)定成為底下的模樣∶
127.0.0.0/255.255.255.0 : * : * : none
192.168.1.0/255.255.255.0 : * : * : none
* : * : * : deny
# 星號(hào) (*) 代表任何資料都接受的意思。上面三行的意思是,開放 lo 內(nèi)部介面、
# 開放內(nèi)部 LAN 網(wǎng)域,且杜絕所有其他來源的 NIS 要求的意思。
# 萬一上面這三行權(quán)限相關(guān)的設(shè)定無法讓你的 NIS 順利的生效時(shí),
# 你可以先將上面三行注解,然后加入底下這一行∶
* : * : * : none
# 這樣應(yīng)該就能夠讓 NIS 順利的連線了。
4、設(shè)定主機(jī)名稱 (/etc/hosts)
[root@linux ~]# vi /etc/hosts
127.0.0.1 linux.yft.com
192.168.1.202 master.zwtnis
192.168.1.100 clinet.zwtnis
除了這個(gè)設(shè)定之外,有時(shí)候你可能需要設(shè)定 /etc/netgroup ,事實(shí)上,如果這個(gè)檔案是空的的話,那么(代表著全部的主機(jī)、帳號(hào)與域名稱都接受)的意思.
[root@linux ~]# touch /etc/netgroup
5、啟動(dòng)服務(wù)
[root@linux ~]# /etc/init.d/portmap start # RPC服務(wù)
Starting portmap: [ OK ]
[root@linux ~]# /etc/init.d/ypserv start #NIS服務(wù)
Starting YP server services: [ OK ]
[root@linux ~]# /etc/init.d/yppasswdd start # yppasswdd提供NIS用戶端密碼修改功能Starting YP passwd service: [ OK ]
[root@linux ~]# rpcinfo -p localhost
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 898 status
100024 1 tcp 901 status
100004 2 udp 912 ypserv
100004 1 udp 912 ypserv
100004 2 tcp 915 ypserv
100004 1 tcp 915 ypserv
100009 1 udp 921 yppasswdd
#p#6、在完成以上的步驟后,我們就需要在NIS服務(wù)器主機(jī)上將用戶賬號(hào)和密碼建立成資料庫。
直接通過 /usr/lib/yp/ypinit 這個(gè)指令來操作。
[root@linux ~]# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers. linux.yft.com 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: linux.yft.com
next host to add:
next host to add:
next host to add:
The current list of NIS servers looks like this:
linux.yft.com
Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/zwtnis/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/zwtnis'
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/zwtnis'
linux.yft.com has been set up as a NIS master server.
Now you can run ypinit -s linux.yft.com on all slave server.
然后需要重新啟動(dòng)以下兩個(gè)服務(wù)。
[root@linux ~]# /etc/init.d/ypserv restart
[root@linux ~]# /etc/init.d/yppasswdd restart
三、NIS客戶端的設(shè)定。
1. 直接建立NIS域名稱
[root@linux ~]# nisdomainname zwtnis
2. 開機(jī)立即啟動(dòng)此一NIS域名稱
[root@linux ~]# vi /etc/rc.d/rc.local
# 加入底下這一行∶
/bin/nisdomainname zwtnis
3. 預(yù)設(shè)在啟動(dòng) ypbind 時(shí),設(shè)定 NIS 域名
[root@linux ~]# vi /etc/sysconfig/network
# 加入底下這一行∶NISDOMAIN=zwtnis
[root@linux ~]# vi /etc/hosts
192.168.1.202 master.zwtnis
192.168.1.100 client.zwtnis
4、啟動(dòng)bind
[root@linux ~]#authconfig-tui進(jìn)入圖形界面設(shè)定即可
5、NISclinet端的一些命令
yptest, ypwhich, ypcat,yppasswd
【編輯推薦】