分类: LINUX
2013-09-25 10:42:53
在 NIS 伺服器上最重要的就是 ypserv 這個軟體了,但是,由於 NIS 設定時還會使用到其他網路參數設定資料, 因此在設定檔方面需要有底下這些資料喔:
至於 NIS 伺服器提供的主要服務方面有底下兩個:
與帳號密碼的資料庫有關的指令方面有底下幾個:
NIS 是會分領域名稱 (domain name) 來分辨不同的帳號密碼資料的,因此你必須要在伺服器與用戶端都指定相同的 NIS 領域名稱才行。設定這個 NIS 領域名稱的動作很簡單,就直接編輯 /etc/sysconfig/network 即可!如下所示:
[root@www ~]# vim /etc/sysconfig/network # 不要更改其他既有資料,只要加入底下這幾行即可: NISDOMAIN=vbirdnis <==設定 NIS 領域名稱
YPSERV_ARGS="-p 1011" <==設定 NIS 每次都啟動在固定的埠口
|
[root@www ~]# vim /etc/ypserv.conf
dns: no # NIS 伺服器大多使用於內部區域網路,只要有 /etc/hosts 即可,不用 DNS 啦 files: 30 # 預設會有 30 個資料庫被讀入記憶體當中,其實我們的帳號檔案並不多,30 個夠用了。 xfr_check_port: yes # 與 master/slave 有關,將同步更新的資料庫比對所使用的埠口,放置於 <1024 內。 # 底下則是設定限制用戶端或 slave server 查詢的權限,利用冒號隔成四部分:
# [主機名稱/IP] : [NIS網域名稱] : [可用資料庫名稱] : [安全限制] # [主機名稱/IP] :
可以使用 network/netmask 如 192.168.100.0/255.255.255.0
# [NIS網域名稱] :例如本案例中的 vbirdnis
# [可用資料庫名稱]:就是由 NIS 製作出來的資料庫名稱;
# [安全限制] :包括沒有限制 (none)、僅能使用 <1024 (port) 及拒絕 (deny)
# 一般來說,你可以依照我們的網域來設定成為底下的模樣:
127.0.0.0/255.255.255.0 : * : * : none
192.168.100.0/255.255.255.0 : * : * : none
* : * : * : deny
# 星號 (*) 代表任何資料都接受的意思。上面三行的意思是,開放 lo 內部介面、 # 開放內部 LAN 網域,且杜絕所有其他來源的 NIS 要求的意思。 # 還有一個簡單作法,你可以先將上面三行註解,然後加入底下這一行即可: * : * : * : none
|
由於鳥哥習慣在內部網域並不設定比較嚴格的限制,因此通常鳥哥都是選擇使用『 * : * : * : none 』那個設定值! 然後透過 iptables 來管控可使用的來源就是了。當然,你可以依據你的需求來設定啦!
第三步、设置/etc/hosts,你應該這樣做:
[root@www ~]# vim /etc/hosts # 原本就有的 localhost 與 127.0.0.1 之類的設定都不要更動,只要新增資料: 192.168.100.254
192.168.100.10 clientlinux.centos.vbird
[root@www ~]# hostname # 再做個確認,確定輸出的主機名稱與本機 IP 確實有寫入 /etc/hosts 喔! |
注意!如果你的主機名稱 (hostname) 與 NIS 的主機名稱不一樣,那麼在這個檔案當中還是需要將你的主機名稱給他設定進來! 否則在後面資料庫的設定時,肯定會發生問題。當然啦,你也可以直接在 /etc/sysconfig/network 當中直接重新設定主機名稱,然後重新開機,或者是利用 hostname 這個指令重新設定你的主機名稱也可以。
第四步、启动与观察所有相关的服务接下來當然是先啟動所有相關的服務囉,這包括 RPC, ypserv 以及 yppasswdd 囉!不過,如果你的 RPC 本來就已經啟動的話,那就不要重新啟動 rpcbind 了!此外,為了也讓 yppasswdd 啟動在固定的埠口,方便防火牆的管理, 因此,我們也建議你可以設定一下 /etc/sysconfig/yppasswdd 喔!
[root@www ~]# vim /etc/sysconfig/yppasswdd
YPPASSWDD_ARGS="--port 1012" <==找到這個設定值,修改一下內容成這樣! [root@www ~]# /etc/init.d/ypserv start
[root@www ~]# /etc/init.d/yppasswdd start
[root@www ~]# chkconfig ypserv on
[root@www ~]# chkconfig yppasswdd on
|
注意,主要的 NIS 服務是 ypserv ,不過,如果要提供 NIS 用戶端的密碼修改功能的話, 最好還是得要啟動 yppasswdd 這個服務才好。在啟動完畢後,我們可以利用 rpcinfo 來檢查看看:
[root@www ~]# rpcinfo -p localhost program vers proto port service
100000 4 tcp 111 portmapper
100000 4 udp 111 portmapper
100004 2 udp 1011 ypserv
100004 1 udp 1011 ypserv
100004 2 tcp 1011 ypserv
100004 1 tcp 1011 ypserv
100009 1 udp 1012 yppasswdd
# 其他不相干的 RPC 鳥哥將它拿掉了,與 NIS 有關的至少要有上面這幾個!要仔細看,
# 看看埠口是否為我們規定的 1011, 1012 ,若不是的話,得要修改一下設定檔。
[root@www ~]# rpcinfo -u localhost ypserv
program 100004 version 1 ready and waiting program 100004 version 2 ready and waiting |
很多時候,很多朋友在設定完 NIS 後又回去設定 NFS 了,結果看了前一章的介紹,竟然又重新啟動 rpcbind , 這將導致 ypserv 的註冊資料被註銷掉。因此,使用上述的動作來檢查看看服務有沒有在等待中, 要看到如上的『就緒並等待服務』才會是正常的呦!
在完成了上面的所有步驟後,接下來我們得要開始將主機上面的帳號檔案轉成資料庫檔案啦! 不過,因為擔心與 NIS 用戶端的帳號有衝突,加上之前我們已經建立過一些帳號了。所以,這裡我們建立三個新帳號, 分別是 nisuser1, nisuser2, nisuser3 。不過帳號主要是依據 UID 來判斷的啊!因此,我們使用大於 1000 的 UID 來建立這三個帳號喔!
[root@www ~]# useradd -u 1001 nisuser1
[root@www ~]# useradd -u 1002 nisuser2
[root@www ~]# useradd -u 1003 nisuser3
[root@www ~]# echo password | passwd --stdin nisuser1
[root@www ~]# echo password | passwd --stdin nisuser2
[root@www ~]# echo password | passwd --stdin nisuser3
|
接下來,將建立的帳密資料轉成資料庫吧!轉換的動作直接透過 /usr/lib64/yp/ypinit 這個指令來處理即可!整個步驟是這樣做的: