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


8

От man usermod:

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

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

Ответы:


13

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

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


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 не используют оболочку, например, прямые порты.
Джошуа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.