16.3. PAM 模組的組態

有些 PAM 模組是可設定的。對應的組態檔位於 /etc/security。本小節簡單說明與 sshd 範例相關的組態檔—pam_unix2.confpam_env.confpam_pwcheck.conf 以及 limits.conf

16.3.1. pam_unix2.conf

傳統的密碼驗證方法是由 PAM 模組 pam_unix2 所控制。它可以從 /etc/passwd/etc/shadow、NIS 對應、NIS+ 表格或 LDAP 資料庫讀取所需的資料。設定個別應用程式本身的 PAM 選項或編輯 /etc/security/pam_unix2.conf 以進行全域設定,即可影響此模組的行為。範例 16.6, "pam_unix2.conf" 中顯示了模組最基本組態檔。

範例 16.6. pam_unix2.conf

auth:   nullok
account:
password:       nullok
session:        none

authpassword 模組類型的 nullok 選項是指定對應的帳戶類型可以使用空密碼。也允許使用者變更帳戶密碼。session 模組類型的 none 選項是指定其本身不記錄訊息 (這是預設值)。如需其他組態選項的資訊,請參閱檔案本身的註解以及 pam_unix2(8) 的手冊頁。

16.3.2. pam_env.conf

這個檔案可用來定義使用者的標準環境,每當呼叫 pam_env 模組時就會設定該環境。使用它即可使用下列語法預設環境變數:

VARIABLE  [DEFAULT=[value]]  [OVERRIDE=[value]]
VARIABLE

要設定的環境變數名稱。

[DEFAULT=[value]]

管理員想要設定的預設值。

[OVERRIDE=[value]]

可以由 pam_env 查詢及設定的值,用以覆寫預設值。

每次執行遠端登入時調整的 DISPLAY 變數,就是使用 pam_env 的典型範例。這會顯示於 範例 16.7, "pam_env.conf"

範例 16.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 檔案中的註解取得。

16.3.3. pam_pwcheck.conf

此組態檔是供 pam_pwcheck 模組使用,該模組會從該檔案讀取所有 password 類型模組的選項。此檔案所儲存設定值的優先順序,高於個別應用程式的 PAM 設定值。如果尚未定義應用程式特定的設定值,應用程式就會使用全域設定值。範例 16.8, "pam_pwcheck.conf" 說明 pam_pwcheck 允許空的密碼和密碼的修改。模組的更多選項,請見 /etc/security/pam_pwcheck.conf 檔案中的說明。

範例 16.8. pam_pwcheck.conf

password:    nullok

16.3.4. limits.conf

系統限制可以以使用者或群組為單位,在 limits.conf 檔案中做設定,該檔案是由 pam_limits 模組讀取。該檔案允許您設定硬性限制,也就是完全不能超過,也可設定軟性限制,也就是可以暫時超過。若要瞭解關於語法以及可用選項的資訊,請參閱檔案中所包括的註解。