Dlaczego powinniśmy wygasać zablokowane konto, aby całkowicie uniemożliwić dostęp?

8

Od man usermod:

Uwaga: jeśli chcesz zablokować konto (nie tylko dostęp za pomocą hasła), powinieneś również ustawić EXPIRE_DATE na 1.

  • Dlaczego powinniśmy wygasać zablokowane konto, aby całkowicie uniemożliwić dostęp do konta?
  • Co się stanie, jeśli nie stracę ważności zablokowanego konta?
Sinoosh
źródło

Odpowiedzi:

13

usermod -L w rzeczywistości blokuje tylko hasło użytkownika, więc użytkownik nadal może się zalogować przy użyciu innych metod, na przykład sesji ssh, która wykorzystuje uwierzytelnianie za pomocą klucza publicznego.

Ale jeśli ustawisz wartość EXPIRE_DATE1, konto wygasnie całkowicie, a użytkownik nie będzie mógł z niego w żaden sposób korzystać. Wynika to z faktu, że 1 równa się wygasaniu o godzinie 1970-01-01 00:00:01.

Ravexina
źródło
1
Jak o usermod -L -e 300 username? Konto wygaśnie całkowicie?
Sinoosh,
1
@Sinoosh jest jakoś taki sam. data wygaśnięcia zostałaby ustalona na podstawie daty wygaśnięcia Oct 28, 1970konta.
Ravexina,
1
@Ravexina Byłoby lepiej, gdybyś nazwał to w swojej odpowiedzi „uwierzytelnianiem klucza publicznego SSH”, ponieważ jest to mechanizm uwierzytelniania, który omija hasło, a nie SSH per se;)
marcelm
1
@marcelm masz rację. Zaktualizowano odpowiedź ...
Ravexina,
2

Ponieważ klucze ssh nie dbają o hasła, zamiast tego musisz umrzeć konto.

Dawną mądrością była zmiana powłoki użytkownika na /bin/false; jednak to nie działa.

Jozuego
źródło
„zmień powłokę użytkownika na / bin / false; jednak tak naprawdę to nie działa” [potrzebne źródło]
user60561
3
@ user60561 niektóre polecenia ssh nie używają powłoki, jak na przykład porty forward.
Joshua