背景
我们部门使用 LDAP 来验证用户对各种服务(包括 Web 应用以及 Linux 服务器)的身份(通过 SSH)。当用户离开部门时,出于各种原因,我们应该禁用他们对我们服务的访问权限,但仍保留帐户和数据。
我认为只需将他们的登录 shell 改为类似/bin/false已经足够了,但我仍在学习针对不同服务进行身份验证的不同方面,因为我继承了一个相当老旧且复杂的计算机集群。我发现了另一个需要采取的步骤,如下所述,但这仍然不能解决所有问题。
当前进程
1. 正如我所提到的,loginShell
将被设置为/bin/false
。
答案1
͟F͟o͟r͟ ͟E͟x͟c͟e͟p͟t͟i͟o͟n͟-͟1͟B,我终于发现我可以使用AllowGroups
选项并将sshd_config
新创建的 LDAP 组“shellAccess”(例如)放在那里:
AllowGroups shellAccess
现在,当用户退休时,我可以直接删除他们在 shellAccess 组中的成员身份,而不管loginShell
使用什么覆盖韓國。
͟T͟i͟s͟͟͟h͟a͟l͟s͟o͟͟͟d͟r͟e͟s͟e͟d͟͟m͟y͟͟c͟o͟c͟e͟r͟n͟1 作为sshd现在返回如下消息:
sshd: User foo from W.X.Y.Z not allowed because none of user's groups are listed in AllowGroups
sshd: input_userauth_request: invalid user foo
sshd: userauth_pubkey: unsupported public key algorithm: ssh-rsa
sshd: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=W.X.Y.Z user=foo
sshd: pam_ldap: error trying to bind as user "uid=foo,ou=People,dc=example,dc=com" (Invalid credentials)
sshd: Failed password for invalid user foo from W.X.Y.Z port 666 ssh2
sshd: Connection closed by W.X.Y.Z
此致,