在 PAM 組態檔中的每一行最多包含四個資料欄:
<Type of module> <Control flag> <Module path> <Options>
PAM 模組是以堆疊的方式處理。不同模組的類型就有不同的目的,例如,一個模組檢查密碼,另一個驗證存取系統的位置,還有一個則讀取使用者特定的設定值。PAM 共有四種不同類型的模組:
此類型模組的目的就是要檢查使用者的驗證性。傳統上是以查詢密碼的方式來檢查,但是這也可以使用晶片卡或透過生物測定 (指紋或虹彩掃描) 來完成。
此類型的模組會檢查使用者是否具有使用所要求服務的一般權限。舉例而言,執行這類檢查是要確保沒有人可以用使用者已過期的帳戶登入。
此類型模組的目的就是要能夠變更驗證權杖。在大部份情況下,這個權杖是密碼。
此類型的模組是用來管理和設定使用者的工作階段。模組在驗證之前和之後啟動,以便在系統日誌中註冊登入嘗試,並設定使用者的特定環境 (郵件帳戶、主目錄、系統限制等等)。
第二個資料欄包含多種控制旗標,它們會影響已啟動模組的行為:
具有此旗標的模組必須成功地處理完成後,才能開始進行驗證。具有 required 旗標的模組失敗後,需待所有具有相同旗標的其他模組處理完畢,使用者才會收到關於驗證嘗試失敗的訊息。
具有此旗標的模組也必須成功地處理,方式與具有 required 旗標的模組相似。然而在失敗時,具有此旗標的模組會對使用者發出立即回應,而且不會再處理其他的模組。當成功時,就會接著處理其他的模組,像是任何具有 required 旗標的模組。requisite 旗標可以當做基本的過濾器,檢查是否具備正確驗證所必需的條件。
具有此旗標的模組經成功處理後,呼叫應用程式會收到關於成功的立即訊息,而且不會再處理其他的模組 (假設具有 required 旗標的模組之前沒有失敗)。具有 sufficient 旗標的模組若失敗並不會有直接的結果,這是因為任何後續的模組都是以個別的順序處理。
具有此旗標的模組不論是成功或失敗都不會有任何直接的結果。這對於只想顯示訊息 (例如,通知使用者郵件已寄達),但不想採取任何進一步動作的模組而言非常有用 。
如果給予這個旗標,則指定為引數的檔案會在這個位置插入。
模組只要是位於 /lib/security 的預設目錄中即可,其路徑並不需要明確指定,(至於 SUSE Linux Enterprise® 所支援的所有 64 位元平台,目錄則為 /lib64/security)。第四個資料欄可能包含指定模組的選項,例如 debug (啟用除錯) 或 nullok (允許使用空密碼)。