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