我遇到了这种奇怪的情况:在 Centos 6.6 机器上,在我的 中sshd_config
,我有一行
AllowGroups foo bar baz
就像在所有其他服务器上一样。但是,当用户baz
(其组为baz
)尝试登录这台服务器时,登录被拒绝,
在日志中我看到
May 17 16:27:03 myserver sshd[6172]: User baz from other.server.com not allowed because none of user's groups are listed in AllowGroups
并且用户无法登录。当然,我已经重新启动了 ssh 守护进程以确保配置已生效。
另外,如果我从 中完全删除“AllowGroups”行sshd_config
,则登录可以正常工作。现在我想知道为什么 sshd 没有选择这个组(另外,组内的用户可以使用AllowGroups
active 登录)。此外,(看似)精确的设置也适用于其他主机。配置是通过 puppet 部署的,因此它确实应该是相同的。有任何想法吗?
编辑按照下面的要求,输出
root@foobar:/etc/ssh $ groups baz
baz : nburoot
预期将baz
作为组...所以现在我需要检查为什么该组是错误的(即使/etc/groups
它是正确的)。我将发布解决方案作为答案。
答案1
感谢@Jakuje,我检查了组成员身份,groups baz
结果表明有效组不是我对 中的条目所期望的/etc/group
。由于我们还安装了 centrify,我查看了配置,这似乎是正确的(baz
已在 中列出/etc/centrifydc/groups.ignore
)。我重新启动了代理 ( service centrifydc restart
),这解决了该问题。baz
现在拥有正确的组并可以登录。