可插入的鑑別模組

可插入的鑑別模組 (PAM) 組織架構提供系統管理者透過可插入模組的使用,將多重鑑別機制納入現有的系統的能力。

已啟用來利用 PAM 的應用程式對於新技術是可插入式的,無需修改現有的應用程式。此一彈性讓管理者可以執行下列動作:

  • 在系統上為應用程式選取任何鑑別服務
  • 對於提供的服務使用多重鑑別機制
  • 新增鑑別服務模組而不需要修改現有的應用程式
  • 使用先前輸入的密碼進行多重模組的鑑別

PAM 組織架構是由一個程式庫、一些可插入模組及一個配置檔組成。PAM 程式庫實作 PAM 應用程式設計介面 (API),適合管理 PAM 交易及呼叫可插入模組中定義的 PAM 服務程式設計介面 (SPI)。可插入模組會依據呼叫的服務及它在配置檔中的項目,動態地由程式庫載入。成功與否,不僅取決於可插入模組,亦取決於該服務已定義的行為。透過堆疊的概念,服務可配置成透過多重鑑別方法進行鑑別。如果支援,則模組亦可配置為使用先前提出的密碼而非提示其他輸入。

系統管理者可以配置 AIX® 系統使用 PAM,方法是修改 /etc/security/login.cfg 檔案中 usw 段落的 auth_type 屬性。 設定 auth_type = PAM_AUTH 會將啟用 PAM 的指令配置為直接呼叫 PAM API 來進行鑑別,而非使用過去的 AIX 鑑別常式。這個配置是執行時期決策,且不需要重新開啟系統即可生效。如需 auth_type 屬性的進一步資訊,請參閱 /etc/security/login.cfg 檔案參照。下列原生 AIX 指令與應用程式已經過修改,使其能夠辨識 auth_type 屬性,並得以執行 PAM 鑑別:
  • login
  • passwd
  • su
  • ftp
  • telnet
  • rlogin
  • rexec
  • rsh
  • snappd
  • imapd
  • dtaction
  • dtlogin
  • dtsession

下圖說明 PAM 啟用的應用程式、 PAM 程式庫、配置檔與已配置使用 PAM 之系統上的 PAM 模組之間的互動。PAM 啟用的應用程式會呼叫 PAM 程式庫中的 PAM API。此程式庫依據配置檔中的應用程式項目來決定要載入的適當模組,並呼叫該模組中的 PAM SPI。發生在 PAM 模組與應用程式之間的通訊,是透過使用在應用程式中實作的交談功能。由模組的成功與否和配置檔中定義的行為來決定是否需要載入另一個模組。如果是這樣,將繼續處理程序;否則,會將結果傳回應用程式。

圖 1. PAM 組織架構及實體. 此圖例顯示 PAM 的啟用指令如何使用 PAM 程式庫,來存取適當的 PAM 模組。