有些 PAM 模組是可設定的。對應的組態檔位於 /etc/security。本小節簡單說明與 sshd 範例相關的組態檔—pam_unix2.conf、pam_env.conf、pam_pwcheck.conf 以及 limits.conf。
傳統的密碼驗證方法是由 PAM 模組 pam_unix2 所控制。它可以從 /etc/passwd、/etc/shadow、NIS 對應、NIS+ 表格或 LDAP 資料庫讀取所需的資料。設定個別應用程式本身的 PAM 選項或編輯 /etc/security/pam_unix2.conf 以進行全域設定,即可影響此模組的行為。範例 24-6中顯示了模組最基本組態檔。
範例 24-6 pam_unix2.conf
auth: nullok account: password: nullok session: none
auth 與 password 模組類型的 nullok 選項是指定對應的帳戶類型可以使用空密碼。也允許使用者變更帳戶密碼。session 模組類型的 none 選項是指定其本身不記錄訊息 (這是預設值)。如需其他組態選項的資訊,請參閱檔案本身的註解以及 pam_unix2(8) 的手冊頁。
這個檔案可用來定義使用者的標準環境,每當呼叫 pam_env 模組時就會設定該環境。使用它即可使用下列語法預設環境變數:
VARIABLE [DEFAULT=[value]] [OVERRIDE=[value]]
要設定的環境變數名稱。
管理員想要設定的預設值。
可以由 pam_env 查詢及設定的值,用以覆寫預設值。
每次執行遠端登入時調整的 DISPLAY 變數,就是使用 pam_env 的典型範例。這會顯示於 範例 24-7。
範例 24-7 pam_env.conf
REMOTEHOST DEFAULT=localhost OVERRIDE=@{PAM_RHOST}
DISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}
第一行將 REMOTEHOST 變數的值設為 localhost,每當 pam_env 無法決定任何其他值時,就會使用這個值。DISPLAY 變數接著就會包含 REMOTEHOST 的值。如需詳細資訊,可以從 /etc/security/pam_env.conf 檔案中的註解取得。
此組態檔是供 pam_pwcheck 模組使用,該模組會從該檔案讀取所有 password 類型模組的選項。此檔案所儲存設定值的優先順序,高於個別應用程式的 PAM 設定值。如果尚未定義應用程式特定的設定值,應用程式就會使用全域設定值。範例 24-8 說明 pam_pwcheck 允許空的密碼和密碼的修改。模組的更多選項,請見 /etc/security/pam_pwcheck.conf 檔案中的說明。
範例 24-8 pam_pwcheck.conf
password: nullok
系統限制可以以使用者或群組為單位,在 limits.conf 檔案中做設定,該檔案是由 pam_limits 模組讀取。該檔案允許您設定硬性限制,也就是完全不能超過,也可設定軟性限制,也就是可以暫時超過。若要瞭解關於語法以及可用選項的資訊,請參閱檔案中所包括的註解。