時間:2018.1.16
作者:李強
參考:man,info,magedu講義,萬能的internet
實驗環境:VMware® Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4
聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下内容純屬個人了解,并沒有對錯,隻是參考,盜版不糾,才能有限,希望不誤人子弟為好。
原由;
我們在系統中經常要用到各種認證,login登入需要認證,ssh,telnet ,ftp等需要認證,snmp,smtp等也需要認證,總之既然大家都需要認證,那麼找個人統一管理下好不好。PAM有個各個認證子產品,關于資源限制的,關于使用者賬号的,關于登入時間的,各個子產品,當你的服務需要認證時,你隻要把你的需求告訴PAM,它就會根據/etc/pam.d/下你指定的認證機制來去調用/etc/security下各個庫。
各種應用服務隻需要提供服務就好,驗證的事情就交給系統和PAM來處理,然後告訴你是提供還是拒絕服務。
隻要ldd 調用了libpam.so 庫檔案的都可以受其控制
認證過程:
1.使用者執行/usr/bin/passwd 程式,并輸入密碼
2.passwd開始調用PAM子產品,PAM子產品會搜尋passwd程式的PAM相關設定檔案,這個設定檔案一般是在/etc/pam.d/裡邊的與程式同名的檔案,即PAM會搜尋/etc/pam.d/passwd此設定檔案
3.經由/etc/pam.d/passwd設定檔案的資料,取用PAM所提供的相關子產品來進行驗證
4.将驗證結果回傳給passwd這個程式,而passwd這個程式會根據PAM回傳的結果決定下一個動作(重新輸入密碼或者通過驗證)
man -k pam
檢視各個pam中子產品的使用幫助
man pam.conf
/etc/pam.d/下的配置檔案格式
因為其子系統太多,是以預設不存在/etc/pam.conf配置檔案。而是放在各個子配置檔案中。各個應用的pam認證規則配置存放在/etc/pam.d中
回歸正題格式為:
type control module-path module-arguments
type
control
module-path
module-arguments
auth
require
/lib64/secure
xxx
account
x
password
-type
control(PAM庫如何處理與該服務相關的PAM子產品成功或失敗情況,兩種方式實作:簡單和複雜)
module-path(子產品路徑,一般相對路徑/lib64/security下子產品)
module-arguments (用來傳遞給該子產品的參數,配置少時用參數,多時可以考慮/etc/security下的各個子產品的配置檔案)
本文轉自 lajifeiwomoshu 51CTO部落格,原文連結:http://blog.51cto.com/lajifeiwomoshu/2061652