使用 pam_tacplus 进行 Linux 身份验证/授权的 tacacs+

使用 pam_tacplus 进行 Linux 身份验证/授权的 tacacs+

我正在使用 TACACS+ 通过 pam_tacplus.so PAM 模块对 Linux 用户进行身份验证,并且一切运行正常。

我已经修改了 pam_tacplus 模块以满足我的一些自定义要求。

我知道默认情况下,TACACS+ 没有任何方法可以支持 Linux 组或通过 Linux bash 命令进行访问级别控制,但是,我想知道是否有任何方法可以从 TACACS+ 服务器端传递一些信息,以让 pam_tacplus.so 模块可用于允许/拒绝或动态修改用户组[从 pam 模块本身]。

示例:如果我可以将 priv-lvl 编号从服务器传递到客户端,并且可以使用该编号在 PAM 模块进行一些决策。

PS:我更喜欢一种不需要在服务器端[代码]进行修改的方法,所有修改都应该在 Linux 端完成,即 pam_tacplus 模块。

谢谢你的帮助。

答案1

最终我让它工作了。

问题 1:

我面临的问题是,可用于为非 CISCO 设备配置 TACACS+ 服务器的文档非常少。

问题 2:

我正在使用的 tac_plus 版本

tac_plus -v
tac_plus version F4.0.4.28

似乎不支持

service = shell protocol = ssh 

tac_plus.conf 文件中的选项。

所以最终我用

service = system  {
                default attribute = permit
                priv-lvl = 15
        }

在客户端(pam_tacplus.so),

我在授权阶段(pam_acct_mgmt)发送了 AVP service=system,这强制服务返回配置文件中定义的 priv-lvl,我将其用于用户的设备权限级别。

注意:有些文档提到 service=system 不再使用。因此此选项可能不适用于 CISCO 设备。

高血压

相关内容