
コマンド名「chage」は「changeage」の頭字語です。このコマンドは、ユーザーのパスワードのエージング/有効期限情報を変更するために使用されます。
システム管理者は、パスワード変更ポリシーを適用して、一定期間後にユーザーがパスワードをリセットするように強制されるようにするのがあなたの仕事です。
他の許可されていないユーザーは、パスワードのエージング/有効期限情報を表示できません。 rootユーザーとして、このコマンドを実行してエージング情報を変更できます。
構文
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive] [-E expiredate] [-W warndays] user
実際には、 /etc/login.defs を使用して、ユーザーに定期的にパスワードを変更させることもできます。 以下のファイル。
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
ただし、 /etc/login.defs すべてのユーザーに影響します システムに登録されているもの。別のユーザーに別のルールを設定する場合は、chageが最適なツールです。
パラメータなしでchageと入力すると、クイックガイダンスが表示されます。このコマンドをよりよく理解するために、いくつかの例を見ることができます。
1)ユーザーのパスワードエージング情報を一覧表示する
ユーザーのパスワードの有効期限の詳細を表示するには、以下のコマンドを実行します
chage –l testuser
出力:
Last password change : May 01, 2012
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
ご覧のとおり、このユーザーのパスワードの有効期限は無効になっています。
2)ユーザーのパスワードエージングを無効にする
これにより、ユーザーのパスワードの有効期限がすでに有効になっている場合は無効になります。
chage -I -1 -m 0 -M 99999 -E -1 testuser
•-I-1:これにより、「パスワードが非アクティブ」に設定されます
•-m0:これにより、パスワードが変更されるまでの最小日数が0に設定されます
。•-M99999:これにより、パスワードが変更されるまでの最大日数が99999に設定されます
。•-E-1:これにより、「アカウントの有効期限が切れます」が「なし」に設定されます。
3)ユーザーのパスワードの有効期限を有効にする
ほとんどの場合、管理者は、セキュリティを強化するために、すべてのユーザーにパスワードの有効期限を設定する必要があります。ユーザーのパスワードの有効期限を有効にすると、ユーザーは有効期限後の次のログイン時にパスワードを変更する必要があります。
20日後に有効期限が切れるパスワードを設定します。このために、示されているように-mオプションを使用します
chage -M 20 testuser
Output
Last password change : May 01, 2012
Password expires : May 21, 2012
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 20
Number of days of warning before password expires : 7
4)アカウントの有効期限を「YYYY-MM-DD」の形式で設定します
chageコマンドを使用して、ユーザーのパスワードの有効期限を設定できます。これは、以下に示すように-Eオプションを使用して実現されます。日付の形式はYYYY-MM-DDであることに注意してください。以下のコマンドは、ユーザー「james」のパスワードが2012年5月28日に期限切れになることを示しています。
chage –E “2012-05-28” james
Output
Last password change : May 01, 2012
Password expires : May 21, 2012
Password inactive : never
Account expires : May 28, 2012
Minimum number of days between password change : 0
Maximum number of days between password change : 20
Number of days of warning before password expires : 7
5)パスワードの有効期限の警告メッセージを設定します
デフォルトでは、この値は7に設定されています。したがって、ユーザーが7日間の有効期限が切れる前にログインすると、迫り来るパスワードの有効期限に関する警告が表示され始めます。 10日に変更する場合は、次のように変更できます。
chage –W 10 testuser
6)次回のログオン時にユーザーにパスワードの変更を強制する
新しいユーザーアカウントを作成するときは、次のように、ユーザーが初めてログインするときにパスワードを変更するようにユーザーに強制するように設定できます。
chage –d 0 testuser
これにより、「最後のパスワード変更」が「パスワードを変更する必要があります」にリセットされます。
結論
まとめる際の注意点
- rootユーザーは、任意のユーザーのパスワード情報を変更および表示できます ただし、root以外のユーザーは、自分のパスワード情報のみを表示および変更できます。
- パスワードの有効期限が切れると、ユーザーは新しいパスワードを設定するまでシステムにログインできなくなります。 システムは、ユーザーに古いパスワードの入力を求め、後で新しいパスワードの入力を求め、後でそれを確認します。
上記のコマンドを自由に試してみて、これについて考えさせてください。ありがとうございます。
関連項目:
- 例を含むすべてのLinuxコマンド