1台機器, 帳號請大家自己開一開就好了, 2台機器, 把帳號再複製一份就可以了... 多台機器的狀況, 就再多複製幾份~
但是 遇到要改資料的狀況, 要開新帳號的狀況? 機器常常掛掉, 要重新建立? 這時後使用 NIS 就可以省不少時間~
NIS: Network Information Service、Yellow Pages 或 簡稱 YP.
NIS 的每台 Client 會去跟 Master / Slave 詢問帳號的資訊(主要是 Client-Server 的概念).
註: Client-Server 的概念, 缺點是要祈禱 Master 不要掛掉, 不然就是多準備幾台 Slave. XD
前置準備
- NIS Master Domain
- NIS Slave Domain # 若不建立 Slave, 可以免去此項
NIS Server 架設(Master)
- apt-get install nis
輸入自己的 DOMAIN # 這邊沒填好, 之後可於 /etc/defaultdomain 修改
- vim /etc/default/nis # 修改下述
NISSERVER=false => NISSERVER=master
- vim /etc/defaultdomain # 填入 domain name (ex: tw.yahoo.com => 填寫 yahoo.com)
- /usr/lib/yp/ypinit -m # 執行, 將有哪些 Domain 都填入, 可於 /var/yp/ 查詢更新結果. (此 Domain 最好於 /etc/hosts 有對應 IP, 可以不用全填, 要當 NIS Slave 的機器一定要寫在裡面)
- /etc/init.d/portmap restart
- /etc/init.d/nis restart # 到此 NIS Server 已經建置完成.
新增 / 修改: user / password / domain
若有新增/修改 user / password / domain 的情況, 可依照下述步驟重新建立 DB:
- cd /var/yp; make 或
- make -C /var/yp
sudo 設定
每台都開 sudo 也是有點麻煩, 建議可以建個 wheel 的 Group, 然後將有 sudo 權限的加進此 Group 即可. 作法如下:
- sudo addgroup wheel
- vim /etc/group # 增加下述, 1500 => 隨意編個不重複的編號即可.
wheel:x:1500:user1,user2
- visudo # wheel 的 Group 都給 sudo 權限
%wheel ALL=(ALL) ALL
限制連線安全性設定
vim /etc/ypserv.securenets # 預設會有 0.0.0.0, 代表全部 NIS Client 都可以連此 Server, 建議註解掉, 再另外 Allow IP
#0.0.0.0 0.0.0.0
加入自己的 IP Group, ex:
255.255.255.0 192.168.1.0
255.255.255.255 123.123.123.123 # 特定某個 IP(123.123.123.123).
Iptables 設定
請自行依照自己的網路環境修改.
- /sbin/iptables -A -s 192.168.1.0/24 --dport 111 -j ACCEPT
- /sbin/iptables -A --dport 111 -j DROP
錯誤排除
- /etc/init.d/nis restart 等等, 出現下述訊息:
- RPC: Program not registered
- nis "RPC: Port mapper failure - RPC: Timed out"
- 於 Master 做 /etc/init.d/portmap stop; sleep 2; /etc/init.d/portmap start; 再試試看, 不行再到每台執行剛剛 portmap restart 動作.
- 用 rpcinfo -p localhost 或 ps aux | grep port 檢查 Master portmap 是否正常執行.
相關文章
- 於 Debian Linux 架設 NIS Server (Master)
- 於 Debian Linux 架設 NIS Server (Slave)
- 於 Debian Linux 架設 NIS Server (Client)