От man usermod
:
Примечание: если Вы хотите заблокировать учетную запись (не только доступ с паролем), необходимо также установить EXPIRE_DATE на 1.
usermod -L
фактически блокирует только пароль пользователя, поэтому пользователь по-прежнему может войти в систему, используя другие методы, например сеанс ssh, который использует аутентификацию с открытым ключом.
Но если вы установите EXPIRE_DATE
на 1, срок действия учетной записи полностью истечет, и пользователь не сможет ее использовать. Это потому, что 1 равно истечению в 1970-01-01 00:00:01
.
Поскольку ssh ключи не заботятся о паролях, Вам нужна учетная запись для смерти вместо этого.
Старая мудрость была изменением оболочка пользователя к /bin/false
; однако это на самом деле не работает.