NIS 的核心概念#
NIS(Network Information Service)是一套集中式帳號管理系統,也稱為「Sun Yellow Pages」。核心思想類似電話簿黃頁——當使用者需要登入時,系統向中央伺服器查詢帳號與密碼資訊,而非各自維護。
主要功能#
NIS 伺服器將本機的帳號相關檔案(/etc/passwd、/etc/shadow、/etc/group、/etc/hosts 等)轉換為資料庫格式,供其他主機查詢驗證。這樣區網內的所有主機不需要各自維護帳號,統一由 NIS 管理。
運作流程#
伺服器端#
- NIS Master 將帳號檔案轉換為資料庫格式
- 主動或被動同步資料至 NIS Slave 伺服器
- 帳號異動時需重新製作資料庫並同步
用戶端查詢#
- 優先查詢本機的
/etc/passwd等檔案 - 本機找不到才廣播查詢 NIS 網域
- 採「先回應者優先」原則
Master/Slave 架構#
NIS 支援主從架構,優勢在於:
- 分散負載:查詢分散到多部 Slave
- 提高可靠性:Master 掛點時,Slave 仍可提供驗證服務,整個網域不至於無法登入
技術基礎#
NIS 依賴 RPC(Remote Procedure Call)進行通訊,因此必須先啟動 rpcbind 服務才能運作。
典型應用場景#
NIS 特別適合 PC 叢集運算環境——搭配 NFS 共享家目錄,可實現多台主機使用統一帳號與檔案系統,提供平行運算所需的一致性環境。
用戶端應刪除一般使用者帳號(保留系統帳號 UID < 500),讓所有使用者帳號完全來自 NIS,確保帳號的唯一性與管理一致性。
NIS 以明碼傳輸帳號資訊,安全性較低。在現代環境中,LDAP(如 OpenLDAP 或 Active Directory)已逐漸取代 NIS,提供更安全且功能更豐富的集中式帳號管理。