パスワードが期限切れになるのはなぜですか?
数日以来、(パスワードなしで)公開鍵でログインしています。今日私はこのメッセージを受け取ります:
> 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
暗号化されたパスワードの値(またはその欠如)によって、パスワードの有効期限ポリシーが設定されているという事実は変わりません。
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のアカウントを引き続き使用できます。
更新しました/etc/login.defs
これを含めるには:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
今では動作します。パスワードの有効期限はもうありません。