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)

推薦する

CSS 3.0 テキストホバージャンプ特殊効果コード

これは、CSS 3.0 で実装されたテキストのホバーとジャンプ効果です。効果は次のとおりです。 以下...

実践で遭遇するフロントエンドの基本(HTML、CSS)

1. div css マウスの手の形は cursor:pointer; です。 2. HTML の相...

MySQL SELECT実行順序の簡単な理解

SELECT ステートメントの完全な構文は次のとおりです。 (7)選択 (8) DISTINCT ...

docker --privileged=true パラメータの役割についての簡単な説明

バージョン 0.6 あたりで、Docker に privileged が導入されました。このパラメー...

XHTML Web ページ チュートリアル

<br />この記事は主に、初心者にXHTMLの基本知識と、XHTMLとHTMLの違いを...

CSSは下部のタップバー機能を実装します

現在多くの携帯電話には、下部のタブバーを切り替える機能があります。私も最近、同様の機能を見つけました...

CSS3 で作成したホバーズーム効果

結果:実装コード: html <link href='https://fonts.go...

ドメイン名、ポート、異なるIPに基づくnginx仮想ホスト設定の実装

1. nginx仮想ホストの設定仮想ホストを使用すると、実行する Web サイトごとに個別の Ngi...

テーブルを作成するための MySQL SQL ステートメントの詳細な概要

mysql テーブル作成 SQL ステートメントMySQL テーブルを作成するための一般的な SQL...

Web ベースの電子メール コンテンツの HTML フォーマット標準の概要

1. ページ要件1) 標準のヘッダーとフッターを使用するXML/HTML コードコンテンツをクリップ...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

JavaScript でシンプルな Web 時計を実装する

JavaScript を使用して Web ページ クロックを実装します。効果は次の図に示されています...

jsはウォーターフォールフローのボトムアウトによるデータの動的ロードを実現します

この記事では、ウォーターフォールフローが底に達したときにデータを動的にロードするためのjsの具体的な...

Linux システムで MySQL データベースにリモート接続する方法のチュートリアル

序文最近、職場でこの要件に遭遇し、リモート接続を確立するのに 1 時間以上かかりました。ローカル コ...

JS でタブ効果を書く

この記事の例では、タブ効果を記述するためのJSの具体的なコードを参考までに共有しています。具体的な内...