2010年12月8日 星期三

nis服務

NIS NIS(Network Information Server)



關於 NIS Server (master/slave) 的運作程序:關於當 NIS Client 有任何登入查詢的需求時:
  • NIS Master 先將本身的帳號密碼相關檔案製作成為資料庫檔案;
  • NIS Master 可以主動的告知 NIS slave server 來更新;
  • NIS slave 亦可主動的前往 NIS master server 取得更新後的資料庫檔案;
  • 若有帳號密碼的異動時,需要重新製作 database 與重新同步化 master/slave
  • NIS client 若有登入需求時,會先查詢其本機的 /etc/passwd, /etc/shadow 等檔案;
  • 若在 NIS Client 本機找不到相關的帳號資料,才開始向整個 NIS 網域的主機廣播查詢;
  • 每部 NIS server (不論 master/slave) 都可以回應,基本上是『先回應者優先』


Server 端設定 Server setup

安裝套件:
yp-tools-2.9-0.1
ypbind-1.19-11.el5
ypserv (NIS server)

#yum -y install ypserv
#yum -y install yp-tools

設定 NIS 的網域名稱 (NIS domain name)

#nisdomainname    a236            =>設定NIS網域名稱為a236
#nisdomainname            =>查詢目前NIS網域名稱

(如果確定每次開機時都需要啟動這個 NIS 領域名稱的話,直接寫到 /etc/rc.d/rc.local 去)

#vi /etc/rc.d/rc.local
/bin/nisdomainname a236

(若是想要在啟動 NIS 時就自動設定好 NIS 領域的話,可以利用 /etc/sysconfig/network 這個檔案,寫成如下所示的模樣)

#vi /etc/sysconfig/network
NISDOMAIN=a236

主要設定檔 /etc/ypserv.conf

#vi /etc/ypserv.conf --->取消最後一行的#
# If you have maps with YP_SECURE or YP_AUTHDES, you should create
# a rule for them above, that's much faster.
*                        : *       : *                : none       <---- 這一行最前面的#拿掉
:wq

設定主機名稱 (/etc/hosts)
為主機(client與server)設定名稱
#vi /etc/hosts
192.168.213.100    master.a236
192.168.213.55    client.a236   

啟動所有相關的服務

# /etc/init.d/portmap start
# /etc/init.d/ypserv start
# /etc/init.d/yppasswdd start


利用rpcinfo 指令來檢查
# rpcinfo -p localhost
program vers proto   port
   100000    2   tcp    111  portmapper
   100000    2   udp    111  portmapper
   100004    2   udp    942  ypserv
   100004    1   udp    942  ypserv
   100004    2   tcp    945  ypserv
   100004    1   tcp    945  ypserv
   100009    1   udp    950  yppasswdd
看到ypserv 就代表NIS服務有聽候...


建立測試帳號
    • #groupadd test
    • #useradd -g test -m jeff
    • #passwd jeff


SERVER端建立NIS資料庫

#/usr/lib/yp/ypinit -m

At this point, we have to construct a list of the hosts which will run NIS
servers.  master.vbirdnis 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:  master.a236   <==這裡出現就對了
       next host to add:                   <==按下 [ctrl]-d
The current list of NIS servers looks like this:

master.a236

Is this correct?  [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/vbirdnis/ypservers...
Running /var/yp/Makefile...

program 100004 version 2 ready and waiting
建立了資料庫後,你必需要通知 ypserv 與 yppasswdd 這兩支服務,告知資料庫已經被更改了, 所以你可以這樣做:

# /etc/init.d/ypserv restart
# /etc/init.d/yppasswdd restart


<以上伺服器端定完成>


客戶端設定 Client setup

確認已安裝下列套件:
#yum -y install yp-tools-2.9-0.1
#yum -y install ypbind-1.19-11.el5

#rpm -qa | grep ^yp

#nisdomainname    a236    
#vi /etc/rc.d/rc.local
/bin/nisdomainname a236
#vi /etc/sysconfig/network
NISDOMAIN=a236

#vi /etc/hosts
192.168.213.100    master.a236
192.168.213.55    client.a236   


# /etc/init.d/portmap start
(這行不用)   # /etc/init.d/yppasswdd start

測試:
#ypcat    -h    master.a236 passwd.byname

確認有出現server端的帳號密碼表 代表網路連線成功

#setup
進入視窗設定


完成設定後 確定儲存離開

測試:

# id    jeff

如果可以看到jeff 的UID GID 等等資訊就是代表NIS完成.

沒有留言:

張貼留言