趙 凱
北京電子科技職業(yè)學(xué)院 北京 100176
NIS(Network Information Service) 是一個(gè)基于RPC的客戶(hù)機(jī)/服務(wù)器系統(tǒng),最初由Sun公司開(kāi)發(fā),可以對(duì)主機(jī)賬號(hào)等系統(tǒng)信息提供集中管理,目前它已經(jīng)成為業(yè)界的標(biāo)準(zhǔn)。NIS服務(wù)器用于集中維護(hù)用戶(hù)的賬號(hào)信息即數(shù)據(jù)庫(kù),為客戶(hù)端提供賬號(hào)信息查詢(xún)服務(wù)。所有用戶(hù)信息存于NIS服務(wù)器中,登錄任何一臺(tái)NIS客戶(hù)機(jī)的用戶(hù)都需要到NIS服務(wù)器上進(jìn)行認(rèn)證,簡(jiǎn)化了客戶(hù)機(jī)中大量的用戶(hù)操作,實(shí)現(xiàn)對(duì)賬號(hào)的集中管理。
為了提高系統(tǒng)的安全性,均衡系統(tǒng)的負(fù)載,NIS服務(wù)可以分為Master/Slave(主控/輔助)服務(wù)器架構(gòu),Master NIS 服務(wù)器保存管理者制作的用戶(hù)數(shù)據(jù)庫(kù),Slave復(fù)制來(lái)自Master的數(shù)據(jù)并向其他客戶(hù)端提供查詢(xún),當(dāng)有客戶(hù)向網(wǎng)絡(luò)中發(fā)送登錄請(qǐng)求時(shí),Master和Slave都可以應(yīng)答,當(dāng)Master或Slave中的數(shù)據(jù)發(fā)生了變化,需要進(jìn)行服務(wù)器間的數(shù)據(jù)同步,從而保持?jǐn)?shù)據(jù)的完整性及一致性。
在服務(wù)器端的流程包括以下幾步:
(1)管理員在Master上生成用戶(hù)/密碼的數(shù)據(jù)庫(kù)文件。(2)Master將數(shù)據(jù)推送給Slave,Slave也可以主動(dòng)更新Master上的數(shù)據(jù)庫(kù)信息。(3)當(dāng)用戶(hù)信息發(fā)生變化時(shí),需要重新生成數(shù)據(jù)庫(kù)并將Master/Slave同步。
客戶(hù)端的流程包括以下幾方面:
(1)用戶(hù)在NIS 客戶(hù)端登錄時(shí),會(huì)先查詢(xún)本地的passwd文件及shadow等文件。(2)如果在本地找不到用戶(hù)信息,則向NIS網(wǎng)絡(luò)廣播查詢(xún)。(3)所有的NIS Server都有可能響應(yīng),NIS客戶(hù)端將會(huì)綁定到第一臺(tái)響應(yīng)的服務(wù)器上。
本例中NIS服務(wù)器使用Master/Slave結(jié)構(gòu),客戶(hù)端10臺(tái),網(wǎng)絡(luò)拓?fù)淙鐖D1所示,所需要安裝軟件見(jiàn)表1,各設(shè)備的地址信息見(jiàn)表2 。
圖1 網(wǎng)絡(luò)拓?fù)鋱D
表1 軟件信息表
表2 地址信息表
假設(shè)所有設(shè)備均已經(jīng)安裝好表1中的軟件并配置好IP地址。
第一步:設(shè)置NIS服務(wù)器的域名
[root@master ~]# nisdomainname mynisserver
第二步:設(shè)置NIS服務(wù)器使用的端口
[root@ master ~]# vim /etc/syscon fig/network
添加內(nèi)容如下:
NISDOMAIN=mynisserver#指定NIS服務(wù)器的名稱(chēng)
YPSERV_ARGS="-P 1011"#指定NIS服務(wù)啟動(dòng)時(shí)使用的端口
第三步:設(shè)置訪問(wèn)NIS服務(wù)器的權(quán)限
允許本機(jī)及10.1.1.0網(wǎng)段的主機(jī)訪問(wèn)該NIS服務(wù)器,內(nèi)容用冒號(hào)隔成四部分,分別為[主機(jī)名/IP][NIS域名][可用數(shù)據(jù)庫(kù)名稱(chēng)][安全限制]。
打開(kāi)/etc/ypserv.conf文件,添加如下內(nèi)容:
127.0.0.0/255.255.255.0 : * : * : none
10.1.1.0/255.255.255.0 : * : * : none
第四步:設(shè)置主機(jī)名與IP地址的對(duì)應(yīng)關(guān)系
修改/etc/hosts文件,添加如下內(nèi)容:
10.1.1.1master.mynisserver
10.1.1.2 slave.mynisserver
10.1.1.100 client01.mynisserver
……
10.1.1.110 client10.mynisserver
第五步:綁定 yppasswdd服務(wù)對(duì)應(yīng)的端口
此處指定yppasswdd服務(wù)對(duì)應(yīng)的端口為1012。
[root@ master ~]# vim /etc/syscon fig/yppasswdd
添加YPPASSWDD_ARGS="--port 1012"
第六步:?jiǎn)?dòng)服務(wù)
[root@ master ~]# service ypserv start
[root@ master ~]# service yppasswdd start
可以將這兩個(gè)服務(wù)設(shè)置為開(kāi)機(jī)自啟動(dòng),方法如下:
[root@ master ~]# chkcon fig ypserv on
[root@ master ~]# chkcon fig yppasswd on
第七步:添加用戶(hù),以用戶(hù)nisuser1為例
[root@ master ~]#useradd -u nisuser1
[root@ master ~]#echo nisuser1 |echo passwd --stdin nisuser1
第八步:建立數(shù)據(jù)庫(kù)
[root@ master ~]#/usr/lib/yp/ypinit -m
注意:生成的數(shù)據(jù)庫(kù)會(huì)存儲(chǔ)在/var/yp/mynisserver目錄下,如果用戶(hù)或密碼發(fā)生了變化,則需要重新啟動(dòng)ypserv及yppasswd
第九步:關(guān)閉防火墻
[root@ master ~]#service iptables stop
此處與Master NIS Server相同的配置略。
第一步:開(kāi)啟Slave推送服務(wù)
[root@slave ~]#vim /var/yp/Make file
修改NOPUSH的值為false。
第二步:?jiǎn)?dòng)與MASTER的映射服務(wù)
[root@ slave ~]#service ypxfrd start
第三步:?jiǎn)?dòng)服務(wù)并獲取MASTER上的數(shù)據(jù)庫(kù)文件
[root@ slave ~]#service ypserv restart
[root@ slave ~]#/usr/lib/yp/ypinit –s master.mynisserver
第四步:測(cè)試獲取的數(shù)據(jù)庫(kù)是否正確
圖2 在Slave上的驗(yàn)證
由圖2可以看出,在Slave Server上正確的獲取到了Master Server中的數(shù)據(jù)庫(kù)信息(看到了Master中的用戶(hù))。
以client01為例,在客戶(hù)機(jī)上同樣要設(shè)置域名、IP與主機(jī)名對(duì)應(yīng)關(guān)系等內(nèi)容(此處略)。
在客戶(hù)機(jī)上需要建立與服務(wù)器的關(guān)聯(lián),方法如下:
[root@ client01~]#setup
在彈出的界面中選“驗(yàn)證服務(wù)”,出現(xiàn)如圖3所示界面。
圖3 驗(yàn)證服務(wù)
選擇民“使用NIS”,單擊“下一步”,輸入域名對(duì)應(yīng)的服務(wù)器地址(如圖4所示)。
圖4 設(shè)置服務(wù)器對(duì)應(yīng)IP
在圖4中單擊“確定”后,如果屏幕沒(méi)有停頓,直接回到了初始界面,說(shuō)明連接成功。
執(zhí)行[root@client01~]#yptest,成功看到了Master NIS Server 中的用戶(hù)信息(如圖5所示)。
圖5 客戶(hù)端的驗(yàn)證信息
NIS客戶(hù)端配置完成后,可以使用su命令切換用戶(hù),但會(huì)出現(xiàn)找不到家目錄的情況,解決的方法是將NIS與NFS配合使用。
第一步:在Master NIS Server上共享“home”目錄,修改/etc/exports文件,添加如下內(nèi)容:10.1.1.0/24(rw,no_root_squash)
第二步:?jiǎn)?dòng)NFS服務(wù)。
第三步:在客戶(hù)端中將服務(wù)器中的共享目錄掛載到/home下,命令如下:
[root@client01 ~]#mount –t nfs 10.1.1.1:/home /home
此時(shí)將用戶(hù)切換為服務(wù)器的用戶(hù),如nisuser1。
圖6 以nisuser1的身份登錄
從圖6中可以看出無(wú)論在哪臺(tái)客戶(hù)機(jī)上登錄,都可以使用指定的用戶(hù)登錄,且自動(dòng)進(jìn)入到用戶(hù)的家目錄中,平臺(tái)搭建成功。
文中論述了NIS服務(wù)器的工作流程并實(shí)現(xiàn)了Master/Slave的負(fù)載均衡架構(gòu),成功地實(shí)現(xiàn)了NIS客戶(hù)機(jī)中用戶(hù)的網(wǎng)絡(luò)認(rèn)證。NIS服務(wù)可以有效地解決網(wǎng)絡(luò)中用戶(hù)的統(tǒng)一管理問(wèn)題,通過(guò)在NIS服務(wù)器上生成用戶(hù)信息數(shù)據(jù)庫(kù)并推送給Slave 服務(wù)器,實(shí)現(xiàn)用戶(hù)登錄的網(wǎng)絡(luò)認(rèn)證,使用該平臺(tái)對(duì)用戶(hù)進(jìn)行管理,可以減輕管理員的工作量,并提高系統(tǒng)的安全性。
[1][美]Ellen Siever.Linux 技術(shù)手冊(cè)[M].第6版.北京:中國(guó)電力出版社,2013:7.
[2][美]Mark G. Sobell.Red Hat Linux指南服務(wù)器設(shè)置與程序設(shè)計(jì)篇[M].北京:人民郵電出版社,2008:11.
[3][美]Evi Nemeth.Linux系統(tǒng)管理技術(shù)手冊(cè)[M].北京:人民郵電出版社,2003.