201403131209Unix 的 NIS/ YP Client 設定

使用 AD/ LDAP 都是目前常用的帳號認證方式,但在某些環境下 NIS (Network Information Services) 與 YP (Yellow Page) 還是持續在運作的,那新加入的主機如果要使用此種帳號認證,該怎麼做呢?

** 本篇講的是 NIS client 加入 NIS Domain 的方式 ***

*** 圖形化方式 ***

蒐集資訊:NIS/YP 的主機 IP 、NIS網域
執行 sudo setup

選用「使用NIS」,並決定使用哪種密碼認證

輸入相關資訊,並按下下圖確定後,就會重新啟動 rpcbind 的服務,這樣就搞定了

 

*** 命令列方式 ***

Step 1:確認所需套件

ypclient 需要兩個套件「ypbind 」、「yp-tools」,可以使用「 yum info ypbind yp-tools」檢查一下套件是否已經安裝,以 CentOS 6.5 x64 來說預設是安裝好的。

Step 2:設定環境設定檔

sudo vi /etc/sysconfig/network:網路相關設定
> 增加 NISDOMAIN=Your_NIS_DomainName

sudo vi /etc/hosts: IP 與主機名對應,若 NIS 建構成 Master / Slave 則兩台都加入
> 建議增加 NIS_server_IP    NIS_Server_FQDN   NIS_Server_Shortname
> 例如 140.116.1.1   nis1.ntu.edu.tw   nis1

sudo vi /etc/yp.conf:ypbind 的主要設定檔
> 他有幾種方式可以用,我們就用「domain NISDOMAIN server HOSTNAME」來指定 NISDOMAIN 的主機為何
>例如 domain  Your_NIS_DomainName  server  140.116.1.1

sudo vi /etc/sysconfig/authconfig:帳號登入認證機制
> 可以檢查一下 /etc/sysconfig/authconfig ,基本上可以不用改

sudo vi /etc/pam.d/system-auth:帳號登入認證機制
> 因為有可能本機所使用的密碼加密方式跟 NIS 主機上的不同,所以要注意底下這行,注意他是用 MD5 還是 SHA512,並做修改 (這如同上面第二張圖所選的對應)CentOS 6.5 預設是 sha512
password    sufficient    pam_unix.so sha512 shadow nis nullok try_first_pass use_authtok

sudo vi /etc/nsswitch.conf 帳號密碼的查詢順序
>nsswitch.conf 設定檔,可以用來指定對於 passwd, shadow, group, hosts 的查詢順序,預設 passwd, group, shadow 都只有指向 files 也就是指向 /etc/passwd, /etc/shadow, /etc/group,所以必須在這裡多增加「nis」讓系統知道,當查詢使用者資訊時,先看 /etc/passwd 是否存在,不在~就再查 NIS/YP 的帳號是否存在

> 所以指定的順序是有關連且重要的(當帳號同時存在於 local / nis 的時候)
> 修改底下幾行 ,讓 files 先,再 nis
       passwd: files nis
       shadow: files nis
       group: files nis
       hosts:      files  dns  nis
> hosts 的意思則為先查詢 /etc/hosts 再查 DNS 再查 NIS

Step 3:啟動服務

預設 ypbind 跟 yp-tools  是有安裝,但未啟動

sudo chkconfig ypbind on     #讓開機時自動執行
sudo service ypbind restart  #執行 ypbind 服務

Step 4:測試 NIS / YP

ypwhich : 查詢 NIS Server
ypchsh:改變 NIS 上使用者登入的 Shell
ypchfn:改變 NIS 上使用者的完整名稱跟相關資訊,也就是 /etc/passwd 中的第五個欄位
ypmatch:查詢 NIS map 的 KEY
yptest:測試 NIS 的設定,如果可以跑出來 NIS 上的使用者則代表可以查詢
若 yptest 出現「WARNING: 在對映表中沒有此一鍵值 (Map passwd.byname, key nobody)」錯誤則不用管他,這是因為在 NIS Domain 裡找不到對應的 nobody user。

Step 5:掛載使用者家目錄

mount  IP:/remote_DIR   Local_DIR
mount  -t  nfs  -o  ro  IP:/remote_DIR   /Local_DIR
例如:mount -t nfs  140.114.3.2:/good_nfs  /home

Step 6:其他可能問題

-1. Local 跟 NIS Server 的 Firewall port
若你的 NIS Server 有阻擋,記得當新增 NIS Client 時,要連帶開啟 Client 的  IP。 Local 也要允許從 NIS Server 連過來。

-2. 若出現「-bash:  "沒有此一檔案或目錄"」錯誤訊息,就很可能是在 Firewall / iptables 的設定上出錯,導致無法正常連線(這時你的 yptest 可能都是可以正常查詢),可以嘗試重新啟動 ypbind  服務,當然也可以重新開機試試看。

~ End

回應
關鍵字
Google Search
Google
累積 | 今日
loading......
平均分數:0 顆星
投票人數:0
我要評分:
Google
sitetag