SSH 允许 Windows AD 组(带有特殊字符)

SSH 允许 Windows AD 组(带有特殊字符)

我已成功将我的 Linux 加入到 Windows 域,现在域中的每个人都可以使用 ssh 登录到服务器。

但我们只想允许某个组中的某些用户登录。

当前两个组的示例:

#it_admin

Domain Admin

答案1

有两种方法可以实现这一点。一种是让 SSH 配置过滤,另一种是使用pam_access

使用 SSH 配置

/etc/ssh/sshd_config添加一行AllowGroups

AllowGroups Domain Admin

来自手册页

AllowGroups
    This keyword can be followed by a list of group name patterns,
    separated by spaces.  If specified, login is allowed only for
    users whose primary group or supplementary group list matches one
    of the patterns.

Domain Admin此处不匹配Domain Admin组名,而是两个单独的组DomainAdmin。您必须使用类似Domain*Admin和之类的字符*it_admin,因为(空格) 和 ( #) 通常都不是 Linux 组中的有效字符。为了更安全,请使用:和?代替,这样通配符只允许一个字符。您还可以添加基于模式的 DenyGroups 部分。请参阅*Domain?Admin?it_adminPATTERNSman ssh_config

使用pam_access

添加以下/etc/security/access.conf格式的行:

- : ALL EXCEPT (Domain) (Admin) : ALL

该文件中有大量注释,记录了如何使用它。man pam_access非常简单,所以大部分信息都来自这些注释。pam_access更强大的是它还可以控制非 SSH 登录(TTY、GUI 等)。例如,这一行应该完全拒绝任何没有DomainAdmin作为组的用户登录(除非其他行允许他们登录)。

这两种方法都非常灵活,我不知道其优缺点,所以没有建议。

相关内容