您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Linux系統如何實現pam認證,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
PMA(Pluggable Authentication Module)是一個可插入式認證模塊,在Linux系統中,各種不同的應用程序都需要完成認證功能,為了實現統一調配,把所有需要認證的功能做成一個模塊(認證機制特別復雜的除外,如:https),當特定的程序需要完成認證功能的時候,就去調用PMA的認證模塊,這些模塊都位于系統中的/lib64/security(/lib/security:32位操作系統)目錄下,但并不是所有的模塊都是用來完成認證的,有些模塊是為了實現PAM的某些高級功能而存在的,其中PMA的認證庫是由glibc提供的,應用程序最終使用哪個PMA模塊,取決于/etc/pma.d/*這個目錄下的定義.
PAM認證一般遵循這樣的順序:Service(服務)→PAM(配置文件)→pam_*.so。PAM認證首先要確定那一項服務,然后加載相應的PAM的配置文件(位于/etc/pam.d下),最后調用認證文件(位于/lib/security下)進行安全認證。認證原理圖如下圖所示:
用戶訪問服務器的時候,服務器的某一個服務程序把用戶的誰請求發送到PAM模塊進行認證。對于不同的服務器應用程序所對應的PAM模塊也是不同的。如果想查看某個程序是否支持PAM認證,可以用ldd命令進行查看,例如查看查看sshd是不是支持PAM模塊認證,如下圖所示:
客觀地說PAM認證還是比較復雜的,這里只簡單地介紹它包括四種常見認證類型(module type):
1、認證管理(authentication management)
接受用戶名和密碼,進而對該用戶的密碼進行認證,并負責設置用戶的一些秘密信息。
2、帳戶管理(account management)
檢查帳戶是否被允許登錄系統,帳號是否已經過期,帳號的登錄是否有時間段的限制等等。
3、密碼管理(password management)
主要是用來修改用戶的密碼。
4、會話管理(session management)
主要是提供對會話的管理和記賬(accounting)。
驗證控制類型也可以稱做Control Flags,用于PAM驗證類型的返回結果,具體有以下四種:
1、required驗證失敗時仍然繼續,但返回Fail(用戶不會知道哪里失敗)。
2、requisite驗證失敗則立即結束整個驗證過程,返回Fail。
3、sufficient驗證成功則立即返回,不再繼續,否則忽略結果并繼續。
4、optional無論驗證結果如何,均不會影響(通常用于session類型)。
PAM驗證類型返回結果如下所示:
為了方便大家理解舉兩個例子,如下圖所示:
從上面兩個圖可以看出當required失敗后續還要繼續,但最后仍是失敗。requisite驗證失敗則立即結束。而sufficient則是驗證成功則立即結束。
上述就是小編為大家分享的Linux系統如何實現pam認證了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。