可插拔認證模塊
可插拔認證模塊 (PAM)是一種將多個低級認證方案集成到高級應用程序編程接口(API)中的機制, 可以讓依賴於身份驗證的程序獨立於底層的身份驗證方案編寫。PAM 最初由太陽微系統在1995年10月的開放軟件基金會的請求意見稿 (RFC)86.0中提出。它被用作通用桌面環境的身份驗證框架。作為獨立的開源基礎結構,PAM 於1996年8月在 Linux PAM 項目中首次出現在 Red Hat Linux 3.0.4中。 當前, AIX操作系統、DragonFly BSD[1]、FreeBSD、HP-UX、Linux、macOS、NetBSD 和 Solaris 均支持PAM。
由於不存在規範 PAM 行為的中心標準,後來有人嘗試將 PAM 標準化為 X/Open UNIX 標準化過程的一部分,從而產生了X/Open Single Sign-on(XSSO)標準。 該標準尚未獲得批准,但是其草案可供後來的PAM實現(例如OpenPAM)參考。
批評
[編輯]由於大多數 PAM 實現本身都不與遠程客戶端交互,PAM 本身無法實現 Kerberos(Unix環境中最常見的SSO類型)。這導致SSO被合併為可能的XSSO標準的「主要認證」部分,並且出現了諸如SPNEGO和 SASL 之類的技術。 這種功能上的缺乏也是 SSH 自己實現身份驗證機制協商的原因。
在大多數PAM實現中,pam_krb5 只能獲取票據授權票據(TGT),這涉及到提示用戶輸入憑據,並且僅用於SSO環境中的初始登錄。如要在不提示用戶再次輸入憑據的前提下,獲取特定應用程序的服務票證,則必須對該應用程序進行特定的編碼以支持 Kerberos,這是因為 pam_krb5 本身無法獲取服務票證(儘管有些 PAM-KRB5 版本正試圖解決該問題)。[2]
參見
[編輯]- 身份管理
- Java身份驗證和授權服務
- Linux PAM
- 名稱服務開關(NSS)
- OpenPAM
參考文獻
[編輯]- ^ PAM manual page of DragonFly BSD. [2021-07-16]. (原始內容存檔於2021-07-19).
- ^ PAM-KRB5. [2021-07-16]. (原始內容存檔於2021-04-15).
外部連結
[編輯]- 原始PAM RFC (頁面存檔備份,存於網際網路檔案館)
- PAM and password control,存檔於網際網路檔案館(存檔日期 August 19, 2013)
- Linux的可插入身份驗證模塊 (頁面存檔備份,存於網際網路檔案館)
- 充分利用可插拔身份驗證模塊(PAM) (頁面存檔備份,存於網際網路檔案館)
- Oracle Solaris管理:安全服務:使用PAM (頁面存檔備份,存於網際網路檔案館)
- X / Open Single Sign-on(XSSO)1997工作文件草案 (頁面存檔備份,存於網際網路檔案館)