Почему срок действия пароля истекает, если ни один не установлен?
Почему срок действия пароля истекает?
Я вхожу в систему с открытым ключом (без пароля) уже несколько дней. Сегодня я получаю это сообщение:
> 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
Теперь это работает. Срок действия пароля больше не истекает.