使用 pam_listfile.so 进行 Radius 身份验证

使用 pam_listfile.so 进行 Radius 身份验证

我已经在我的机器上设置了 Radius 身份验证(作为客户端 - 尚未测试)。

pam radius conf 文件具有共享秘密等。radius 身份验证可以潜在地对组织中的每个用户进行身份验证(我不控制身份验证服务器) - 10000 个用户左右。

我还使用允许项目作为组的含义另外设置了 pam_listfile.so 。

我想要完成的任务如下:

  1. 拥有一名本地管理员用户(在 admin 组和 /etc/passwd 中)。
  2. 拥有不在 /etc/passwd 中但通过 radius 进行身份验证的其他用户(我为他们设置了 pam_mkhomedir.so ,以便他们在首次登录时可以获得合理的主目录)。这是我想要允许访问机器的白名单。
  3. 这些附加用户是一些本地定义的组的成员(参见下文 - group1、group2 等)。
  4. 应拒绝所有不属于这些组成员的用户进行身份验证。

我在 /etc/passwd 中有一个本地用户(参见上面的 1)。该用户位于名为 admin 的组中,该组是 sshd.allow 文件中的组之一。其中包含:

组1

组2

组3

行政

所有这些组都在 /etc/group 中定义并具有某些成员。

当我尝试与另一个用户(不在 /etc/passwd 中,但是是 group1 的成员)进行身份验证时,我发现身份验证失败。我已经尾随了 auth.log,它似乎表明我的机器确实甚至不尝试针对 Radius 服务器验证此用户的身份。

我从普通的 Debian 设置开始,只添加了与 pam_radius、pam_listfile 和 pam_mkhomedir 对应的行。我没有碰过任何其他东西。

因此,pam 配置中的某些默认设置可能会搞乱(可能是一个错误的 auth required 指令,该指令假定基于本地 /etc/passwd 的身份验证?)。或者至少这是我的猜测。 auth.log 将提供的用户名(甚至在我通过 ssh 输入密码之前)引用为无效用户。

我的问题是 - 做我想做的事情是否可行(见上文)?如果是这样,我将发布配置详细信息以获取您调试此问题的帮助。

相关内容