我們在系統中經常要用到各種認證,login登入需要認證,ssh,telnet ,ftp等需要認證,snmp,smtp等也需要認證,總之既然大家都需要認證,那麼找個人統一管理下好不好。pam有個各個認證模組,關於資源限制的,關於使用者賬號的,關於登入時間的,各個模組,當你的服務需要認證時,你只要把你的需求告訴pam,它就會根據/etc/pam.d/下你指定的認證機制來去呼叫/etc/security下各個庫。
各種應用服務只需要提供服務就好,驗證的事情就交給系統和pam來處理,然後告訴你是提供還是拒絕服務。
只要ldd 呼叫了libpam.so 庫檔案的都可以受其控制
graphlra
-->b
[libpam.so]
b-->c
[/lib*/secure/*.so]
c[/lib*/secure/*.so]
-->d
[/lib*/secure/*.conf]
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
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
***account
xpassword
x-type
x
簡單方式實現:乙個關鍵字實現
require:一票否決,表示本模組必須成功才能通過
requisite:一票否決,同上
sufficient:一票通過,表示本模組返回成功則通過身份認證
include:呼叫其他配置檔案中定義的配置資訊
複雜方式實現: 使用乙個或多個"status=action"
[status1=action1 status2=action2....]
status:檢查結果的返回狀態,success ,default
action:ok,done,bad,die,ignore,reset
ok 模組通過繼續檢查
done 模組通過,返回最後結果給應用
bad 結果失敗,繼續檢查
die 結果失敗,返回失敗結果給應用
ignore 結果忽略,不影響最後結果
reset 忽略已經得到的結果
pam_nologin.so 普通使用者允許登入,如果/etc/nologin檔案存在,非root使用者不能登入,如果用shell是/sbin.nologin 登入時會顯示/etc/nologin檔案內容,並拒絕登入
pam_shells.so 控制登入終端型別,檢查登入使用者shell型別為 /etc/shells中的型別,方可登入
pam_securetty.so 只允許root登入在/etc/securetty列出的安全終端上
pam_limits.so 在使用者級別實現對其可用的資源限制,例如:可開啟的檔案數量,可執行的程序數量,可使用的記憶體空間等。
修改限制的方式
1、ulimit命令,立即生效,單無法儲存,只在當前會話有效
2、配置檔案/etc/scurity/limits.conf,/etc/scurity
/limits.d/*.conf
iOS之安全加密
在專案中當我們提交使用者的隱私資料時,比如 登陸密碼 銀行賬號等,一定要使用post請求提交使用者的這些隱私資料。因為get請求的所有引數都直接暴露在url中。同時請求的url一般會記錄在伺服器的訪問日誌中,伺服器的訪問日誌是黑客攻擊的重點物件之一。僅僅用post請求提交使用者的隱私資料,還是不能完...
資訊保安 PAM模組的研究
在前面的內容中介紹了pam limits pam securetty 以及pam cracklib 這幾個模組,這裡就不再贅述,下面列出部分linuxpam模組 pam access 提供logdaemon 風格的登入控制 etc security access.conf pam chroot 提供...
java安全之加密技術
主要有 對稱加密演算法,基礎加密演算法,非對稱加密演算法。只有乙個金鑰key進行加密解密,可以逆向加解密。古代有名的加密演算法,將加密的資料進行一定的以為,屬於對稱加密,金鑰key 2 int 值 這種加密非常簡單,只需要對相應的明文移位就得到了加密後的密文,如 明文為abc,key 2 移2位 那...