配置一个 PAM 模块,使所有用户(但某些用户除外)都需要该模块

配置一个 PAM 模块,使所有用户(但某些用户除外)都需要该模块

我希望能够配置 /etc/pam.d/sshd 以便:

对于除“admin”组用户之外的所有用户,模块 pam_radius 是必需的

对于组管理员中的用户,模块 pam_radius 是充足的

这个怎么做?

答案1

根据 Andrew B 提供的链接(感谢 Andrew),我通过以下方法解决了这个问题:

在/etc/pam.d/sshd中:

auth    [success=1 default=ignore] pam_access.so accessfile=/etc/security/ssh.conf
auth    required        pam_radius_auth.so
auth    sufficient      pam_radius_auth.so
@include common-auth

我创建了文件 /etc/security/ssh.conf:

-:ALL EXCEPT admin:ALL

此文件拒绝除管理员组之外的所有人访问。我没有将此行放入 /etc/security/access.conf 的原因是,这会对使用 pam_access.so 的其他模块产生意想不到的后果。因此,它有自己的文件。

简而言之,如果 radius 发生故障,这允许管理员能够通过 @common-auth 机制(unix、ldap)登录。

相关内容