ubuntu server10.4下NIS服務的配置

前言:

上次學習了SUN的NFS服務,今天學習SUN的另一個作品NIS服務。Network Information Service(NIS)原名叫做Sun Yellow Pages,也就是YP(黃頁),所以NIS服務的配置文件都是YP開頭,也不難理解了。

(1)NIS服務能提供什麼功能?與windows server操作系統中的AD比較如何?

用過windows server 2008/2003/2000的都知道AD,NIS的作用就像AD,進行用戶賬號的集中管理,NIS提供用戶的賬號、密碼、UID、GID、家目錄、shell 等。在客戶機登錄時輸入的用戶賬號到NIS服務器上進行認證,本地不需要具有該用戶賬號信息。

但是我覺的NIS沒有像AD那樣使用方便,AD還能管理計算機,但NIS不能。另外還一有個缺點是:用戶登錄後,在本地沒有家目錄,此時需要結合NFS服務完成這個功能。NIS需要在服務器端與客戶端都進行配置,AD不需要在客戶端進行配置。windows server中可以配置多臺域控制器,NIS也可以配置成主從結構。

(2)NIS是基於什麼協議的服務?

NIS與NFS一樣都是基於RPC協議。

(3)在ubuntu server 10.4中需要的軟件包?

NIS在ubuntu 中在服務器與客戶端需要的軟件包都是nis,portmap。

(4)使用NIS服務要準備那些東西?

  1. 基本的用戶賬號管理,會配置NFS,知道RPC的作用,
  2. 還要提前想好一個NIS的域名,這個域名與NDS的域名不同,服務器端與客戶端安裝NIS時要用到這個NIS域名。
  3. NIS服務器最好採用固定IP。
  4. 有DNS服務器的,要設置好NIS客戶端能解析到NIS服務器;沒有DNS的,要配置好客戶端的/etc/hosts文件,使用客戶端能解析到NIS服務器。
  5. 是否需要配置主從NIS服務器。

 

配置一實例:

配置一臺NIS服務器建立用戶賬號admin04,要求在客戶端這賬號能夠登錄,並同時掛載上自己的家目錄,有相應的權限,可以讀寫文件。

NIS服務器配置:

(1)安裝NIS

#sudo apt-get install nis portmap

nis01

如果這臺機器是做爲NIS主服務器,那麼就創建一個NIS域名,如果做爲從NIS服務器或客戶端,則輸入一個存在的NIS域名。這裏我寫一個testlab作爲NIS域名。

完成後,會在/etc下新增yp.conf,ypserver.conf,ypserv.securenets三個文件

(2)配置/etc/default/nis

nis11

這裏只配置一臺主NIS服務器

(2)配置/etc/yp.conf,增加以下內容。

nis08

domain,server都是關鍵字。

testlab就是NIS域名,如果不記得了或要修改,可以用#nisdomainname完成查詢或修改

ubuntulab就是NIS服務器的主機名

(3)初始化數據庫

#sudo /usr/lib/yp/ypinit –m

nis02

因爲這是一臺主NIS服務器所以用帶-m的參數,初始化NIS服務的數據庫。

#sudo /etc/init.d/nis restart

重啓NIS服務。

到此NIS服務器就配置完了,此時能看到在/var/yp下有這麼一些文件

nis25

其中Makefile就是NIS數據庫文件

testlab就是以”NIS域名”爲名的目錄,內容就是一些相關的配置文件

(4)現在把/home/admin04用NFS共享出來,具體NFS配置,在這不再說了

#sudo vim /etc/exports

nis23

1003爲admin04的UID,GID。

 

NIS客戶端配置:

(1)安裝NIS軟件包

#sudo apt-get install nis portmap

在此過程中輸入與NIS服務器端相同的NIS域名

(2)/etc/yp.conf配置,新增以下內容

nis12

192.168.2.87是NIS服務器的IP地址

(3)修改/etc/passwd,/etc/group,/etc/shadow,依次增加以下內容

nis13

nis14

nis15

到此NIS客戶端也就配置完了。

(4)測試,通常用yptest,ypwhich,ypcat

yptest:測試 yp 的設定內容、數據庫內容等等所有 NIS 相關的資料測試;

#yptest

nis17

看到test 9的測試內容爲圖中所示,則表示成功。爲什麼會出現test 3所示的警告信息,是因爲在/var/yp/Makefile中默認的設置爲

nis18

也就是不傳送nobody這個賬號。在ubuntu中nobody的UID,GID都爲65534,如果是想傳送並消除test 3的警告,則需要在NIS服務器端更改成

nis19

設置成“0”就是傳送

重啓動NIS服務

再次使用yptest,就會看到

nis20

就會看nobody也傳送過來了,不會出現test 3 的錯誤了。

ypwhich:測試 NIS Client 與 Server 之間溝通的數據庫 (database) 到底是哪幾個檔案;

#ypwhich

會顯示NIS服務器的主機名

#ypwhich –x

nis21

ypcat:主要在取得 NIS Server 上面的使用者密碼信息

#ypcat passwd.byname

nis22

也可以用geten命令查看

#getent passwd

#getent group

也能看到相應的NIS用戶和組

(5)把admin04的家目錄開機自動掛載到NIS的客戶端

#sudo /home/admin04

#sudo chown admin04:admin04 /etc/admin04

修改/etc/fstab

#sudo vim /etc/fstab

nis24

這時admin04用戶登錄到NIS客戶端時,家目錄也同時掛載上,否則當admin04登錄時,會提示找不到家目錄。

*:爲什麼我不直接把NFS的/home目錄共享出來,而只是用戶的admin04目錄?

因爲我發現當在NIS客戶端掛載了NFS服務器端分享出來的/home目錄後,NIS客戶端的本地用戶登錄後,就沒有家目錄了。所以要想NIS客戶端的本地用戶也能正常登錄時,就用這方式。

(6)其它問題

以SSH登錄不會出現什麼提示,但是以桌面方式(ubuntu desktop)登錄,會出現以下提示

nis04

出現以上信息,那麼桌面上就是空白,什麼菜單也沒有,無法使用。這是因爲在NFS端共享出來的家目錄權限有問題,我的解決方法是在NFS服務器把admin04的權限修改成775,google一下這個問題也有其它的解決方法。

nis05

出現以上信息,只要點"delete”就好了,只是桌面上一些小工具沒有,還是可以用的。

結束語:

在這沒有實驗NIS的主從配置及在客戶端更改密碼yppasswd,ypchfn,ypchsh;覺的在生產環境中應用NIS不是太靈,相比之下windows server的AD就比較好用,另外一種集中管理的方式LDAP也是可以的;還有一種方式就是利用samba把linux機器配置成域控制器,進行用戶的集中管理。文中沒有修改的文件(ypserver.conf,ypserv.securenets,/etc/netgroup),都採用默認設置。爲了增強portmap安全性,還應配置/etc/hosts.deny,/etc/hosts.allow,/etc/ypserv.securenets文件。

 NIS 官方網站:http://www.linux-nis.org/

NIS HOW-TO:http://www.linux-nis.org/nis-howto/HOWTO/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章