Назад | Перейти на главную страницу

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

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

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

> 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

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