問題
新しいユーザーが作成され、パスワードが割り当てられました。彼女はログインしてパスワードを変更しようとしましたが、上記のエラーが発生しました。
user1@XXXX:/home/user1: passwd Changing password for user user1. Changing password for user1 (current) UNIX password: You must wait longer to change your password Current Password: passwd: Authentication token manipulation error
解決策
当該ユーザーのパスワード エージング情報は次のとおりです:
# chage -l user1 Last password change : Feb 07, 2017 Password expires : May 08, 2017 Password inactive : May 23, 2017 Account expires : never Minimum number of days between password change : 30 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
パスワードのエージング情報は、パスワードが 2017 年 2 月 7 日に変更されたことを示しており、「パスワードの変更間隔の最小日数 」は30日です。このユーザーの次のパスワード変更は、2017 年 2 月 7 日から 30 日後に行うことができます。この場合、ユーザーは 2017 年 2 月 7 日にパスワードを再度変更しようとしましたが、これは許可されていません。
ユーザーの連続する 2 回のパスワード変更間の時間制限は、「パスワード変更間の最小日数」によって定義されます。ユーザーがパスワードを再度変更するには、最小日数が経過するまで待つか、「パスワード変更間の最小日数」の設定を変更する必要があります。
ユーザーがいつでも自分でパスワードを変更できるようにする場合は、次の変更を行います:
1. 既存のユーザーの場合、
# chage --mindays 0 username
2. すべての新規ユーザーが作成されるデフォルトにするには、/etc/login.defs で PASS_MIN_DAYS を設定します。
# vi /etc/login.defs PASS_MIN_DAYS 0
「パスワード変更の最小日数」を他の値に設定する場合は、上記のコマンドでゼロを目的の値に置き換えてください。
注意 :root ユーザーには、上記の設定をオーバーライドする権限があり、任意のユーザーのパスワードをいつでもリセットできます。別の方法
また、パスワード エージング情報を Linux のデフォルトに変更し、パスワードの変更を再試行することもできます。 4 番目のフィールドを「0」に変更すると、パスワード変更の最小日数が「0」に変更され、ユーザーは制限なしでパスワードを変更できるようになります。
「/etc/shadow」に次の変更を加えます ” ファイルを root ユーザーとして:
user:#4$jhagsjas$GJASJgjas/LNh8it5jT.N0:16345:0:99999:7:::
または、root アカウントを使用してユーザーのパスワードを期限切れにすることもできます:
# chage -d 0 user1
ユーザーのパスワード情報をもう一度確認すると、次のことがわかります。
# chage -l user1 Last password change : Feb 07, 2017 Password expires : May 08, 2017 Password inactive : May 23, 2017 Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7
パスワードを変更してみてください。今すぐ変更できるはずです。