![当用户的 Active Directory 帐户被禁用时,禁用用户的 SSH 公钥登录](https://linux22.com/image/715390/%E5%BD%93%E7%94%A8%E6%88%B7%E7%9A%84%20Active%20Directory%20%E5%B8%90%E6%88%B7%E8%A2%AB%E7%A6%81%E7%94%A8%E6%97%B6%EF%BC%8C%E7%A6%81%E7%94%A8%E7%94%A8%E6%88%B7%E7%9A%84%20SSH%20%E5%85%AC%E9%92%A5%E7%99%BB%E5%BD%95.png)
我的环境中有许多用户将他们的公钥部署在 Linux 服务器上,以便通过 SSH 实现无密码安全登录。
所有这些用户在我们的 Active Directory 上都有帐户,但是,当用户离开公司并且我们禁用她相应的 AD 帐户时,她的密钥仍然存在,并且她仍然可以登录到所有部署了她的公钥的服务器。
当用户的 AD 帐户被禁用、锁定、过期或删除时,有什么方法可以阻止用户通过其公钥登录服务器?
笔记:我们使用 PBIS-Open 进行 AD 身份验证
答案1
您可以将用户 shell 设置为/sbin/nologin
,根据发行版和版本的不同,它也可能是不同的路径。
usermod --shell /sbin/nologin <user-name>
此外您还可以设置到期日期。
usermod --shell /sbin/nologin --expiredate 1 <user-name>
根据您的配置,这些信息也可能在 LDAP、NIS 或直接在 AD 中配置。在这些情况下,您可能必须执行一些不同的命令来更改登录 shell 和到期日期。