Linux中pam模組詳解

2021-07-31 20:28:09 字數 2164 閱讀 6210

pam簡介

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

pam的配置檔案介紹

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來設定

Pam認證模組

pam 認證模組 pam 做認證的,nss 做使用者 像ldap lib64 security 所有pam模組都在這裡存放著。64位系統便是在 lib64存放著 etc pam.d pam服務的配置檔案。模組呼叫必須放在 lib64 security 這個目錄下。每個模組有 4個功能的認證 auth...

簡單熟悉PAM模組

一.簡單了解一下pam pam用了進行驗證的資料稱為模組 modules 然而每個pam模組的功能也不相同,例如輸入passwd,如果隨便資料就好報如下圖一樣的錯誤.passwd進行報錯的原因是pam的pam cracklib.so 模組的功能,它能夠判斷密碼是否在字典裡面,並將錯誤資訊返回給修改程...

linux中pam認證解析

摘自 首先了解一下,什麼是linux的pam認證呢?pam認證機制 簡單來說就是linux系統採取的這一種對不同使用者以及系統中的不同服務進行的安全認證機制。認證流程 linux系統首先確定所需認證的服務,然後載入相應的pam的配置檔案 位於 etc pam.d下 最後呼叫認證檔案 位於 lib s...