all*_*llo 4 authentication pam
PAM 允许使用sufficent
和required
用于某些逻辑,例如
auth sufficient pam_a.so
auth required pam_b.so
auth required pam_c.so
Run Code Online (Sandbox Code Playgroud)
这意味着“要么a为真,要么b必须为真,然后c必须为真”。
是否可以进行更复杂的操作?像“(a或b)和(c或d)”或“(a和b)或(c和d)”?可能还有更多的括号层。
是的,有逻辑可以跳过任意数量的行。没有“分组括号”或任何类似的东西,但是如果您将刚才提到的逻辑与跳过行的能力结合起来,您可以有选择地排除行为。
这是我的个人服务器的一个例子:
# Skip Google authenticator check if they're coming from a local IP.
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access/nogoogle.conf noaudit
auth required pam_google_authenticator.so nullok
Run Code Online (Sandbox Code Playgroud)
如果源 IP 来自我的本地网络,我真的不需要双重身份验证,所以我使用pam_access.so
检查的结果在成功时跳过一行。如果检查失败,则什么都不会发生并检查下一行。
您可以在pam.conf
联机帮助页中找到有关此内容的更多信息。搜索“value1”。该部分开始如下:
Run Code Online (Sandbox Code Playgroud)For the more complicated syntax valid control values have the following form: [value1=action1 value2=action2 ...] Where valueN corresponds to the return code from the function invoked in the module for which the line is defined. ...
请记住,这个逻辑要复杂得多,如果人们编辑您的 PAM 配置而没有注意到跳行的存在,他们可能会通过在错误的位置添加或删除行而导致各种混乱。
归档时间: |
|
查看次数: |
379 次 |
最近记录: |