Почему срок действия пароля истекает, если ни один не установлен?

Почему срок действия пароля истекает?

Я вхожу в систему с открытым ключом (без пароля) уже несколько дней. Сегодня я получаю это сообщение:

> ssh modlink_foo_q@server

You are required to change your password immediately (password expired)
Last login: Wed Nov 14 09:26:48 2018 from 10.130.4.3
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for modlink_foo_q.

Это совпадающая строка в /etc/shadow

server:~ # grep modli /etc/shadow
modlink_foo_q:!:17757:1:90:7:::

Я думаю, что пароль не установлен. Тогда кто может истечь?

ОС: SUSE Linux Enterprise Server 12 SP3

2 ответа

Решение

Значение вашего зашифрованного пароля (или его отсутствие) не меняет того факта, что установлена ​​политика истечения срока действия пароля.

См. https://linux.die.net/man/3/shadow и https://linux.die.net/man/5/shadow

Текущий пароль был установлен в вторник 14 августа 2018
(третье поле sp_lstchg - количество дней с 1 января 1970 года, когда пароль последний раз менялся: date --date '1970-01-01 +17757days')
(скорее всего, когда аккаунт был создан) и действовал в течение 90 дней.
(поле № 5 sp_max - количество дней, после которого пароль должен быть изменен) Т.е. пароль действителен до date --date '1970-01-01 +17757days +90days' Пн 12 ноября 2018

В настоящее время вы находитесь в 7-дневном льготном периоде после истечения срока действия пароля, и если вы не измените пароль или не измените / не обновите поля политики (с помощью chage) эта учетная запись будет считаться неактивной и отключенной до понедельника, 19 ноября 2018 года.

 chage --lastday 2018-11-14 modlink_foo_q 

обновит sp_lstchg поле с сегодняшней датой, которое позволит вам продолжать использовать учетную запись еще 90, прежде чем имитировать сброс нового пароля.

Я обновил /etc/login.defs содержать это:

PASS_MAX_DAYS    99999
PASS_MIN_DAYS    0

Теперь это работает. Срок действия пароля больше не истекает.

Другие вопросы по тегам