写真提供:mattblaze
ベスト プラクティスでは、ユーザーが定期的にパスワードを変更し続けることをお勧めします。しかし、通常、Linux システムの開発者や他のユーザーは、パスワードの変更を強制されない限り、パスワードを変更しません。
開発者にパスワードの変更を強制する方法を見つけるのは、システム管理者の責任です。頭に銃を突きつけてパスワードを変更するようユーザーに強制することはできません!.ほとんどのセキュリティ意識の高いシステム管理者は、そうしたくなるかもしれません.
この記事では、Linux の chage コマンドの使用方法を確認します。 ユーザーにパスワードの変更を強制する方法など、いくつかの実用的なパスワード エージング アクティビティを実行します。
debian では、次のコマンドを実行して chage をインストールできます。
# apt-get install chage
注: このコマンドのタイプミスは非常に簡単です。 change の代わりに、change と入力することになるかもしれません。 change は「change age」の略であることを覚えておいてください。つまり、chage コマンドの省略形は、chmod、chown などに似ています。
1.ユーザーのパスワードとそれに関連する詳細を一覧表示
以下に示すように、すべてのユーザーが chage コマンドを実行できます。 自分のパスワードがいつ期限切れになるかを自分で識別できるようにします。
Syntax: chage –-list username (or) chage -l username $ chage --list dhinesh Last password change : Apr 01, 2009 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
ユーザー dhinesh がユーザー ramesh に対して同じコマンドを実行しようとすると、次の許可拒否メッセージが表示されます。
$ chage --list ramesh chage: permission denied
注: ただし、root ユーザーは、任意のユーザー アカウントに対して chage コマンドを実行できます。
ユーザー dhinesh が 2009 年 4 月 23 日にパスワードを変更すると、以下に示すように「最終パスワード変更」の値が更新されます。
以前の記事「超強力なパスワードを作成するためのベスト プラクティスと究極のガイド」を参照してください。これは、アカウントのパスワードを変更する際のベスト プラクティスに従うのに役立ちます。
$ date Thu Apr 23 00:15:20 PDT 2009 $ passwd dhinesh Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully $ chage --list dhinesh Last password change : Apr 23, 2009 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 オプション -M を使用して、ユーザーのパスワード有効期限を設定します
root ユーザー (システム管理者) は、任意のユーザーのパスワードの有効期限を設定できます。次の例では、ユーザー dhinesh パスワードは、最後のパスワード変更から 10 日後に有効期限が切れるように設定されています。
オプション -M は、以下に示すように、「パスワードの有効期限」と「パスワード変更の最大日数」の両方のエントリを更新することに注意してください。
Syntax: # chage -M number-of-days username # chage -M 10 dhinesh # chage --list dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
3.ログイン時のパスワード有効期限警告メッセージ
デフォルトでは、パスワードの有効期限が切れるまでの警告の日数は 7 に設定されています。したがって、上記の例で、ユーザー dhinesh が 2009 年 4 月 30 日にログインしようとすると、次のメッセージが表示されます。
$ ssh dhinesh@testingserver dhinesh@testingserver's password: Warning: your password will expire in 3 days
4.ユーザーは有効期限後にパスワードの変更を余儀なくされました
パスワードの有効期限が切れてもユーザーがパスワードを変更しない場合、システムは以下に示すように、ログイン前にユーザーにパスワードの変更を強制します。
$ ssh dhinesh@testingserver dhinesh@testingserver's password: You are required to change your password immediately (password aged) WARNING: Your password has expired. You must change your password now and login again! Changing password for dhinesh (current) UNIX password: Enter new UNIX password: Retype new UNIX password:
5.ユーザーのアカウント有効期限を設定する
オプション -E を使用して、以下に示すように、chage コマンドを使用してアカウントの有効期限を設定することもできます。以下の日付は「YYYY-MM-DD」形式です。これにより、以下に示すように「アカウントの有効期限が切れます」の値が更新されます。
# chage -E "2009-05-31" dhinesh # chage -l dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : never Account expires : May 31, 2009 Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
6.非アクティブ状態が X 日間続いた後、ユーザー アカウントを強制的にロックする
通常、パスワードの有効期限が切れている場合、ユーザーは次回のログイン時にパスワードを変更する必要があります。また、パスワードの有効期限が切れた後、ユーザーが 10 日間ログインを試行しなかった場合に、以下に示すようにオプション -I を使用してアカウントを自動的にロックする追加の条件を設定することもできます。この例では、「パスワードが無効」の日付は、「パスワードの有効期限」の値から 10 日に設定されています。
アカウントがロックされると、システム管理者のみがロックを解除できます。
# chage -I 10 dhinesh # chage -l dhinesh Last password change : Apr 23, 2009 Password expires : May 03, 2009 Password inactive : May 13, 2009 Account expires : May 31, 2009 Minimum number of days between password change : 0 Maximum number of days between password change : 10 Number of days of warning before password expires : 7
7.ユーザー アカウントのパスワード エージングを無効にする方法
ユーザー アカウントのパスワードの有効期限を無効にするには、次のように設定します:
- -m 0 パスワード変更間の最小日数を 0 に設定します
- -M 99999 パスワード変更間の最大日数を 99999 に設定します
- -I -1 (数字マイナス 1) は、「パスワード非アクティブ」を決して設定しません
- -E -1 (数字マイナス 1) は、「アカウントの有効期限が切れる」をなしに設定します。
# chage -m 0 -M 99999 -I -1 -E -1 dhinesh # chage --list dhinesh Last password change : Apr 23, 2009 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
この記事は Dhineshkumar Manikannan によって書かれました。 彼は bk Systems (p) Ltd で働いており、オープン ソースへの貢献に関心があります。 The Geek Stuff は、あなたのヒントやゲスト記事を歓迎します