Ldap
如何在沒有 LDAP 的情況下處理集中式使用者身份驗證?
我正在嘗試為我的使用者創建一個集中式數據庫,用於我的伺服器和 Web 訪問,這樣我就可以允許這些使用者通過 ssh 登錄(如果他們有權訪問),並通過我的 Web 服務來查看他們的帳戶和系統資訊。
我讀過 LDAP,但我希望能夠管理不同數據庫(如 Postgresql)中的使用者,這樣我可以更輕鬆地將數據庫綁定到我的 Web 服務,並在需要更多使用者詳細資訊時控制 SQL 遷移和模式.
我研究了類似 Puppet 的東西,但它對於我想做的事情來說有點太多了,而且我目前不需要管理多個伺服器。我試圖研究 Puppet 如何處理伺服器使用者身份驗證,但沒有找到太多資訊。
我的問題:有沒有辦法在 LDAP 以外的東西(例如 Postgres)中創建一個集中的使用者資訊數據庫,我可以用它來驗證 ssh 和 Web 使用者的身份?
是的。
幾十年來,Linux 和 UNIX 系統上的系統身份驗證一直通過 PAM(可插入身份驗證模組)進行。
PAM 原則是,如果您想使用新的身份驗證後端,則無需重新編譯所有使用身份驗證的應用程序,例如係統身份驗證、ssh、ftp、telnet sudo 等。只需載入正確的模組和使用 PAM 的所有內容可以自動使用新的身份驗證後端。
因此,如果您的應用程序使用 PAM(很多很多都使用)並且已經存在,或者您可以為備用使用者/身份驗證儲存創建 PAM 模組,那麼您就完成了。
pam-pgsql就是這樣一種 PAM 模組,它使用 PostGres SQL 數據庫中的表。這也將使與 Web 應用程序的集成變得容易,或者您也可以使用 Web 伺服器的 PAM 集成來進行身份驗證訪問。
此外,一些應用程序與 PAM 之外的數據庫後端進行原生集成。