Почему мы должны истечь заблокированную учетную запись, чтобы полностью запретить доступ?

8

От man usermod:

Примечание: если вы хотите заблокировать учетную запись (не только доступ с паролем), вы также должны установить EXPIRE_DATE в 1.

  • Почему мы должны истечь заблокированной учетной записи, чтобы полностью запретить доступ к учетной записи?
  • Что будет, если у меня не истечет срок действия заблокированной учетной записи?
Sinoosh
источник

Ответы:

13

usermod -L фактически блокирует только пароль пользователя, поэтому пользователь по-прежнему может войти в систему, используя другие методы, например сеанс ssh, который использует аутентификацию с открытым ключом.

Но если вы установите EXPIRE_DATEзначение 1, срок действия учетной записи истечет, и пользователь не сможет ее использовать. Это потому, что 1 равно истечению в 1970-01-01 00:00:01.

Ravexina
источник
1
Как насчет usermod -L -e 300 username? Срок действия аккаунта истек?
Sinoosh
1
@ Синуш, это как-то так же. дата истечения срока действия будет установлена, Oct 28, 1970когда срок действия учетной записи истечет.
Равексина
1
@Ravexina Было бы лучше, если бы вы на самом деле назвали это «аутентификацией с открытым ключом SSH» в своем ответе, потому что механизм аутентификации обходит пароль, а не SSH как таковой;)
marcelm
1
@ marcelm ты прав. Обновленный ответ ...
Ravexina
2

Поскольку ssh-ключи не заботятся о паролях, вам нужна учетная запись, чтобы умереть.

Старая мудрость заключалась в том, чтобы изменить оболочку пользователя на /bin/false; Однако это на самом деле не работает.

Джошуа
источник
"изменить оболочку пользователя на / bin / false; однако на самом деле это не работает" [цитата нужна]
user60561
3
@ user60561 некоторые команды ssh не используют оболочку, например, прямые порты.
Джошуа