Linux でパスワードの有効期限を表示および設定する方法

Linux でパスワードの有効期限を表示および設定する方法

適切な設定を行うことで、Linux ユーザーにパスワードを定期的に変更させることができます。パスワードの有効期限設定を確認する方法と変更する方法を説明します。

Linux システム上のユーザー パスワードは、永続的に設定することも、有効期限を設定して定期的にリセットするように設定することもできます。セキュリティ上の理由から、パスワードを定期的に変更することが一般的に推奨されていますが、デフォルトではこれは設定されていません。

パスワードの有効期限を表示および変更するには、 chageコマンドとその -l オプション、およびpasswdコマンドとその -S オプションなど、いくつかの重要なコマンドに精通している必要があります。この記事では、これらのコマンドと、パスワードの有効期限を設定するためのその他のchageコマンド オプションについて説明します。

パスワードの有効期限設定を表示する

特定のアカウントにパスワードの有効期限が設定されているかどうかを確認するには、次のchageコマンドを使用します。自分以外のアカウントにはルート権限が必要であることに注意してください。下記のパスワードの有効期限にご注意ください。

$ sudo chage -l ドーリー
最終パスワード変更日: 2020年3月15日
パスワードの有効期限: 2020 年 6 月 13 日 <==
パスワード非アクティブ: なし
アカウントの有効期限: なし
パスワード変更間隔の最小日数: 10
パスワード変更間隔の最大日数: 90
パスワードの有効期限が切れるまでの警告日数: 14

パスワードの有効期限が適用されていない場合、アカウント情報は次のようになります。

$ sudo チャゲ -l ネモ
最終パスワード変更日: 2019年1月14日
パスワードの有効期限: なし <==
パスワード非アクティブ: なし
アカウントの有効期限: 2706989 年 3 月 26 日
パスワード変更間隔の最小日数: 0
パスワード変更間隔の最大日数: 99999
パスワードの有効期限が切れるまでの警告日数: 7

passwd -Sコマンドを使用して情報を表示することもできますが、出力内の各フィールドが何を表しているかを知っておく必要があります。

dory$ パスワード -S
ドリーP 2020/03/15 10 90 14 -1

ここでの 7 つのフィールドは次のものを表します。

  • 1 – ユーザー名
  • 2 - アカウントステータス (L = ロック済み、NP = パスワードなし、P = パスワード使用可能)
  • 3 – パスワードの最終変更日
  • 4 – 変更の最小日数(この日数より少ない場合、パスワードを変更することはできません)
  • 5 – 最大有効期間(この日数が経過すると、パスワードを変更する必要があります)
  • 6 – パスワードの有効期限が切れる前に警告する日数
  • 7 – パスワードの有効期限が切れてからロックされるまでの日数(無効に設定)

注意すべき点は、 chageコマンドではアカウントがロックアウトされているかどうかは表示されず、パスワードの有効期限設定のみが表示されることです。一方、 passwd -Sコマンドは、パスワードがロックされている期間を示します。この例では、アカウントのステータスが L であることに注意してください。

$ sudo パスワード -S ドロシー
ドロシーL 2019年7月9日 0 99999 7 10

これは、通常パスワードが含まれている/etc/shadowファイルの「ハッシュ」フィールドを ! に変更して、パスワードをロックダウンすることによって行われます。

$ sudo grep ドロシー /etc/shadow
ドロシー:!:18086:0:99999:7:10:: <==

アカウントがロックされているという事実は、 chage出力からは明らかではありません。

$ sudo chage -l ドロシー
最終パスワード変更日: 2019年7月9日
パスワードの有効期限: なし
パスワード非アクティブ: なし
アカウントの有効期限: なし
パスワード変更間隔の最小日数: 0
パスワード変更間隔の最大日数: 99999
パスワードの有効期限が切れるまでの警告日数: 7

パスワード有効期限のオプション

最も一般的な設定は、最小日数と最大日数です。これらは組み合わせて使用​​されることが多いです。たとえば、パスワードを 90 日間 (最大) 以上使用できないように設定し、その後 1 週間または 10 日間 (最小) 有効なパスワードを追加できます。これにより、ユーザーはパスワードの変更を要求された直後に古いパスワードに戻らないようになります。

$ sudo チャゲ -M 90 -m 10 サメ
$ sudo chage -l shark
最終パスワード変更日: 2020年3月16日
パスワードの有効期限: 2020 年 6 月 14 日
パスワード非アクティブ: なし
アカウントの有効期限: なし
パスワード変更間隔の最小日数: 10 <==
パスワード変更間隔の最大日数: 90 <==
パスワードの有効期限が切れるまでの警告日数: 7

-E オプションを使用して、アカウントの特定の有効期限を設定することもできます。

$ sudo チャゲ -E 2020-11-11 オタマジャクシ
$ sudo チャゲ -l オタマジャクシ
最終パスワード変更日: 2019年10月15日
パスワードの有効期限: なし
パスワード非アクティブ: なし
アカウントの有効期限: 2020 年 11 月 11 日 <==
パスワード変更間隔の最小日数: 0
パスワード変更間隔の最大日数: 99999
パスワードの有効期限が切れるまでの警告日数: 7

パスワードの有効期限は、ユーザーが簡単すぎるパスワードを使用したり、安全でない方法でパスワードを書き留めたりしない限り、重要なオプションになります。パスワード文字の制御(大文字と小文字、数字の組み合わせなど)の詳細については、パスワードの複雑さに関するこの記事を参照してください。

要約する

Linux でのパスワード有効期限の表示と設定に関するこの記事はこれで終わりです。Linux でのパスワード有効期限の表示と設定の詳細については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux での SSH パスワードフリーログイン設定の詳細な説明
  • MySQL 8.0.15 のインストールと設定のグラフィックチュートリアルと Linux でのパスワード変更
  • Linux リモートログイン SSH パスワードフリー設定方法

<<:  MySQL トリガー: 複数のトリガー操作の作成例の分析

>>:  Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

推薦する

Docker Compose で利用可能な環境変数の詳細な説明

Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...

JS で CSS 変数を使用する方法

JS で CSS 変数を使用する方法:export キーワードを使用して、js オブジェクトを le...

Linux で SSH サーバー エイリアスを作成する 2 つの方法

序文SSH 経由でさまざまなリモート システムに頻繁にアクセスする場合は、このトリックを使用すると時...

Linux で実行中のバックグラウンド プログラムを表示および終了する方法

Linux タスク管理 - バックグラウンド実行と終了fg、bg、ジョブ、&、ctrl + ...

html、xhtml、xmlの違い

開発動向: html (ハイパーテキスト マークアップ言語) - xhtml (拡張ハイパーテキスト...

Vueタイマーの実装方法

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

JS で列挙をシミュレートする方法

序文現在の JavaScript には列挙の概念がありません。一部のシナリオでは、列挙を使用するとデ...

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

Nodejs でタイムドクローラーを実装する完全な例

目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...

JavaScriptはパスワードボックスの検証情報を実装します

この記事では、パスワードボックスの検証情報を実装するためのJavaScriptの具体的なコードを例と...

Vueはアンカー配置機能を実装します

この記事では、アンカー配置を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は...

Nginx で IP と IP 範囲をブロックする方法

前面に書かれたNginx は単なるリバース プロキシおよび負荷分散サーバーではなく、電流制限、キャッ...

MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル

最近コンピュータを再インストールした後、最新バージョンのみをインストールするという強迫観念に基づいて...

グリッド共通レイアウトの実装

両側に隙間なし、各列間に隙間あり 幅: 100%; 表示: グリッド; グリッドテンプレート列: r...

Vue プロジェクトを使用して複数のプロキシを構成する際の注意事項

Vue プロジェクトの開発プロセスでは、ローカル デバッグの利便性のため、通常、vue.config...