Linux中pam模塊詳解

Linux中pam模塊


pam簡介
Linux-PAM(linux可插入認證模塊)是一套共享庫,使本地系統管理員可以隨意選擇程序的認證方式。換句話說,不用重新編譯一個包含PAM功能的應用程序,就可以改變它使用的認證機制。這種方式下,就算升級本地認證機制,也不用修改程序. PAM使用配置/etc/pam.d/下的文件,來管理對程序的認證方式.應用程序 調用相應的配置文件,從而調用本地的認證模塊.模塊放置在/lib/security下,以加載動態庫的形式進,像我們使用su命令時,系統會提示你輸入root用戶的密碼.這就是su命令通過調用PAM模塊實現的。


PAM的配置文件介紹

  • 寫在/etc/pam.conf文件中
  • 將PAM配置文件放到/etc/pam.d/目錄下
    配置文件
    如上圖:
    第一列代表模塊類型
    第二列代表控制標記
    第三列代表模塊路徑
    第四列代表模塊參數

PAM的模塊類型
Linux-PAM有四種模塊類型,分別代表四種不同的任務,它們是:認證管理(auth),賬號管理(account),會話管理(session)和密碼(password)管理,一個類型可能有多行,它們按順序依次由PAM模塊調用.

管理方式 說明
auth 用來對用戶的身份進行識別.如:提示用戶輸入密碼,或判斷用戶是否爲root等.
account 對帳號的各項屬性進行檢查.如:是否允許登錄,是否達到最大用戶數,或是root用戶是否允許在這個終端登錄等.
session 這個模塊用來定義用戶登錄前的,及用戶退出後所要進行的操作.如:登錄連接信息,用戶數據的打開與關閉,掛載文件系統等.
password 使用用戶信息來更新.如:修改用戶密碼.

PAM的控制標記
PAM使用控制標記來處理和判斷各個模塊的返回值.(在此只說明簡單的認證標記)

控制標記 說明
required 表示即使某個模塊對用戶的驗證失敗,也要等所有的模塊都執行完畢後,PAM 才返回錯誤信息。這樣做是爲了不讓用戶知道被哪個模塊拒絕。如果對用戶驗證成功,所有的模塊都會返回成功信息。
requisite 與required相似,但是如果這個模塊返回失敗,則立刻嚮應用程序返回失敗,表示此類型失敗.不再進行同類型後面的操作.
sufficient 表示如果一個用戶通過這個模塊的驗證,PAM結構就立刻返回驗證成功信息(即使前面有模塊fail了,也會把 fail結果忽略掉),把控制權交回應用程序。後面的層疊模塊即使使用requisite或者required 控制標誌,也不再執行。如果驗證失敗,sufficient 的作用和optional相同。
optional 表示即使本行指定的模塊驗證失敗,也允許用戶接受應用程序提供的服務,一般返回PAM_IGNORE(忽略).

模塊路徑
模塊路徑.即要調用模塊的位置. 如果是64位系統,一般保存在/lib64/security,如: pam_unix.so同一個模塊,可以出現在不同的類型中.它在不同的類型中所執行的操作都不相同.這是由於每個模塊針對不同的模塊類型,編制了不同的執行函數.


常用PAM模塊介紹
PAM模塊 管理類型 說明
pam_unix.so auth 提示用戶輸入密碼,並與/etc/shadow文件相比對.匹配返回0
pam_unix.so account 檢查用戶的賬號信息(包括是否過期等).帳號可用時,返回0.
pam_unix.so password 修改用戶的密碼. 將用戶輸入的密碼,作爲用戶的新密碼更新shadow文件

pam_shells.so (auth,account) 如果用戶想登錄系統,那麼它的shell必須是在/etc/shells文件中

pam_deny.so (account,auth,password,session) 該模塊可用於拒絕訪問

pam_deny.so (account,auth,password,session)模塊任何時候都返回成功

pam_securetty.so auth 如果用戶要以root登錄時,則登錄的tty必須在/etc/securetty之中

pam_listfile.so (account,auth,password,session) 訪問應用程的控制開關

pam_cracklib.so password 這個模塊可以插入到一個程序的密碼棧中,用於檢查密碼的強度

pam_limits.so session 定義使用系統資源的上限,root用戶也會受此限制,可以通過/etc/security/limits.conf或/etc/security/limits.d/*.conf來設定

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章