从man usermod
:
注意:如果您希望锁定帐户(不仅使用密码访问),您还应该将 EXPIRE_DATE 设置为 1。
- 为什么我们要使锁定的帐户过期以完全阻止访问该帐户?
- 如果我没有解除锁定的账户,会发生什么情况?
答案1
usermod -L
实际上只锁定用户的密码,因此用户仍然可以使用其他方法登录,例如使用公钥认证的 ssh 会话。
但是,如果将设置EXPIRE_DATE
为 1,则帐户将完全过期,用户将无法以任何方式使用它。这是因为 1 等于它在 时过期1970-01-01 00:00:01
。
答案2
因为 ssh 密钥不关心密码,所以您需要帐户消失。
旧的做法是将用户的 shell 更改为/bin/false
;然而这实际上不起作用。