NIS 的核心概念#

NIS(Network Information Service)是一套集中式帳號管理系統,也稱為「Sun Yellow Pages」。核心思想類似電話簿黃頁——當使用者需要登入時,系統向中央伺服器查詢帳號與密碼資訊,而非各自維護。

主要功能#

NIS 伺服器將本機的帳號相關檔案(/etc/passwd/etc/shadow/etc/group/etc/hosts 等)轉換為資料庫格式,供其他主機查詢驗證。這樣區網內的所有主機不需要各自維護帳號,統一由 NIS 管理。

運作流程#

伺服器端#

  1. NIS Master 將帳號檔案轉換為資料庫格式
  2. 主動或被動同步資料至 NIS Slave 伺服器
  3. 帳號異動時需重新製作資料庫並同步

用戶端查詢#

  1. 優先查詢本機的 /etc/passwd 等檔案
  2. 本機找不到才廣播查詢 NIS 網域
  3. 採「先回應者優先」原則

Master/Slave 架構#

NIS 支援主從架構,優勢在於:

  • 分散負載:查詢分散到多部 Slave
  • 提高可靠性:Master 掛點時,Slave 仍可提供驗證服務,整個網域不至於無法登入

技術基礎#

NIS 依賴 RPC(Remote Procedure Call)進行通訊,因此必須先啟動 rpcbind 服務才能運作。

典型應用場景#

NIS 特別適合 PC 叢集運算環境——搭配 NFS 共享家目錄,可實現多台主機使用統一帳號與檔案系統,提供平行運算所需的一致性環境。

用戶端應刪除一般使用者帳號(保留系統帳號 UID < 500),讓所有使用者帳號完全來自 NIS,確保帳號的唯一性與管理一致性。

NIS 以明碼傳輸帳號資訊,安全性較低。在現代環境中,LDAP(如 OpenLDAP 或 Active Directory)已逐漸取代 NIS,提供更安全且功能更豐富的集中式帳號管理。