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)

推薦する

MySQL の行レベルロックの詳細な例

序文ロックは、複数のスレッドを実行するときにリソースへのアクセスを強制的に制限するために使用される同...

MySQL は information_schema オブジェクトの付与をバイパスし、ERROR 1044 (4200) エラーを報告します

この質問は、MySQL の権限に関する WeChat グループのネットユーザー間の議論です。次のよう...

HTMLフォームのいくつかの送信方法の概要

最も一般的で、最もよく使用され、最も一般的な方法は、submit タイプを使用することです。コードを...

vue+elementUI で埋め込みテーブルを実装する方法の例

大学 4 年生のときのインターンシップ中に、表内のデータの番号をクリックすると、そのデータの下に新し...

JavaScript での && および || 演算子の使用例

目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...

MySQL Community Server 圧縮パッケージのインストールと設定方法

今日は、MySQL をインストールしたかったので、公式 Web サイトにアクセスして、MySQL の...

VMWare に CentOS 7.3 をインストールするグラフィカル チュートリアル

CentOS 7.3のインストール手順を図解しました。具体的な内容は次のとおりです。この記事では、v...

Linux centos7 環境での MySQL インストール チュートリアル

Linux centos7 環境に MySQL をインストールする手順の詳細な紹介MySQLをインス...

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

プロフェッショナルなMySQL開発設計仕様とSQL記述仕様

チーム開発のプロセスでは、プロジェクトの安定性、コードの効率性、管理の利便性のために、内部開発および...

MySQL デッドロック ルーチン: 一意のインデックスの下でのバッチ挿入順序の不一致

序文デッドロックの本質はリソースの競合です。バッチ挿入の順序が一貫していないと、デッドロックに陥りや...

React のネストされたコンポーネントの構築順序

目次Reactの公式サイトではライフサイクルの説明を見ることができます次に、ネストされたコンポーネン...

MySQL スケジュールバックアップタスクの簡単な分析

導入実稼働環境では、データの損失を回避するために、通常、データベースは定期的にバックアップされます。...

MySQL データベースの必須条件クエリ ステートメント

目次1. 基本的な文法2. 条件式によるフィルタリング3. 論理式によるフィルタリング4. あいまい...