Security
如何在 pam 策略中為不同的使用者或組設置不同的身份驗證要求?
我正在嘗試建立一個既安全又方便的 linux 開發環境,在設置了無密碼登錄和 2-factor authenticated
pam_u2f
之後,我有了創建具有不同身份驗證要求的不同使用者帳戶的想法。在位於 的配置文件中
/etc/pam.d/
,身份驗證方法往往與使用者/組無關,例如:auth required pam_u2f.so authfile=/etc/my_yubikeys cue
您可以指定使用者或組,例如管理員帳戶或組成員
wheel
需要 2 個登錄因素(密碼和其他),而其他使用者需要一個?
給定特定使用者標準,您可以使用該
pam_succeed_if
模組跳過堆棧中的其他 PAM 模組。例如,您可以創建一個組noyubikey
並將以下內容添加到您的 PAM 配置中:auth [success=1 default=ignore] pam_succeed_if.so quiet user ingroup noyubikey auth required pam_u2f.so authfile=/etc/my_yubikeys cue
更新以回答您的問題:
我可以使用它來要求多種身份驗證方法,其中任何一種都是可選的。有點像“有 3 種可能的身份驗證方法,但您需要使用其中任何 2 種”
這應該可以通過子堆棧和自定義控制項實現。例如,您可能需要這樣的子堆棧:
[success=ignore default=1] # first module [success=done default=1] # second module if the first one succeeded [success=ignore default=die] # second module, if the first one failed [success=done default=die] # third module now has to succeed
注意:為了清楚起見,我只顯示控制項。
您希望在此處使用子堆棧,因為它將完成/死亡操作與堆棧的其餘部分隔離開來。