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)

推薦する

Linux C++ マルチスレッド同期の非常に詳細な説明

目次1. ミューテックス1. ミューテックスの初期化2. ミューテックスロックの関連特性と分類3. ...

Vueはシンプルな計算機を実装する

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

NginxとLuaによるグレースケールリリースの実装

memcachedをインストールする yum インストール -y memcached #memcac...

ツールベースのウェブサイトの考察: ツールベースのウェブサイトの定義と典型的なケース分析 (写真とテキスト)

ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...

Linux で unzip コマンドを使用して複数のファイルを解凍する方法

Linuxにunzipコマンドがない問題の解決策unzipコマンドを使用して.zipファイルを解凍す...

CSSスタイルの記述順序と命名規則と注意事項

書き順の重要性ブラウザのリフローを減らし、ブラウザのDOMレンダリングパフォーマンスを向上させる①:...

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

MySQL 8.0.22 winx64 のインストールと設定のグラフィックチュートリアル

mysql 8.0.22 winx64のインストールと設定のグラフィックチュートリアルは参考までに、...

el-table カプセル化に基づくドラッグ可能な行と列、および選択列コンポーネントの実装

効果環境が必要ビュー要素UIドラッグアンドドロッププラグインSortable.js必要な構成プロパテ...

mysqlは2つ以上のフィールドがNULLであるレコードを見つける問題を解決します

コアコード /*-------------------------------- 2つ以上のフィール...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

Docker ネットワークの原理とカスタム ネットワークの詳細な分析

Docker はホストマシン上のブリッジを仮想化します。コンテナを作成して起動すると、各コンテナには...

Centos 7 sshd の変更 | ルートログインの禁止と sshd ポートスクリプトの定義

1. 新しいユーザーwwweee000を作成します [root@localhost ~]# user...

MySQL DDLステートメントの使用

序文SQL の言語分類には主に以下の種類があります。 DDLデータ定義言語作成、削除、変更データ定義...