web-dev-qa-db-ja.com

パスワードが設定されていないのに、なぜパスワードが期限切れになるのですか?

パスワードが期限切れになるのはなぜですか?

数日以来、(パスワードなしで)公開鍵でログインしています。今日私はこのメッセージを受け取ります:

> 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:::

パスワードが設定されていないと思います。では、誰が期限切れになるのでしょうか?

OS:SUSE Linux Enterprise Server 12 SP3

1
guettli

暗号化されたパスワードの値(またはその欠如)によって、パスワードの有効期限ポリシーが設定されているという事実は変わりません。

https://linux.die.net/man/3/shadow および https://linux.die.net/man/5/shadow を参照してください

現在のパスワードは2018年8月14日火曜日に設定されました
(3番目のフィールドはsp_lstchg-パスワードが最後に変更された1970年1月1日からの日数:date --date '1970-01-01 +17757days'
(アカウント作成時の可能性が最も高い)、90日間有効でした。
(フィールド#5 sp_max-パスワードの変更が必要になるまでの日数)パスワードは2018年11月12日date --date '1970-01-01 +17757days +90days'月まで有効でした。

現在、パスワードの有効期限が切れてから7日間の猶予期間があり、パスワードを変更するか、ポリシーフィールドを変更または更新しない限り( chage を使用)、そのアカウントは非アクティブと見なされます2018年11月19日までに無効になります。

 chage --lastday 2018-11-14 modlink_foo_q 

sp_lstchgフィールドを今日の日付で更新します。これにより、新しいパスワードのリセットをシミュレートする前に、別の90のアカウントを引き続き使用できます。

5
HBruijn

更新しました/etc/login.defsこれを含めるには:

PASS_MAX_DAYS    99999
PASS_MIN_DAYS    0

今では動作します。パスワードの有効期限はもうありません。

1
guettli