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 Consul コンテナ サービスの更新と見つかった問題の概要

目次1. コンテナサービスの更新とDockerコンサルの検出1. サービス登録と検出とは何ですか? ...

素晴らしいCSS属性MASKの詳しい説明

この記事では、CSS の非常に興味深い属性マスクを紹介します。名前が示すように、マスクはマスクと翻訳...

クラウドデータ移行サービスの観点から見たMySQLの大規模テーブル抽出モードの原理分析

概要: MySQL JDBC 抽出にはどのような方法を使用すればよいでしょうか? その方法を説明しま...

HTML シンプルショッピング数量アプレット

この記事では、参考までにシンプルなHTMLショッピング数量アプレットを紹介します。具体的な内容は次の...

nginx設定ファイルの場所を見つける方法の詳細な説明

よく知らないサーバーの場合や、かなり前にインストールした場所を忘れてしまった場合、構成ファイルの場所...

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

Navicat を MySQL に接続するときに発生する 2059 エラーの解決方法

最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...

MySQL パーティション テーブルに関するパフォーマンス バグ

目次2. pt-pmapを使用したスタック分析3. このコラムのボトルネックポイントの分析4. パー...

Nginx の一般的な設定とテクニックの概要

序文この記事では、Nginx の一般的な、実用的で興味深い構成をいくつか紹介します。この記事を読んだ...

MySQLコマンドラインでSQLファイルを実行するいくつかの方法

目次最初の方法: MySQLデータベースが接続されていない場合2 番目の方法: データベースがすでに...

マークアップ言語 - リスト

標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...

Webpack ファイル パッケージ化エラー例外

webpack をパッケージ化する前に、次の作業が完了していることを確認する必要があります。 1) ...

HTML のスクロールバーについて/スクロールバーの削除

1. xhtmlの下のスクロールバーの色元の HTML では、ページ全体のスクロール バーを次のよう...

JavaScriptのプリコンパイルを見てみましょう(概要)

JSランニング三部作js実行コードは3つのステップに分かれています構文解析プリコンパイル解釈Jav...

Vue+ElementUI Treeの使い方

Vue+ElementUI Treeの使い方は参考までに。具体的な内容は以下のとおりです。 フロント...