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