はじめに
Linux passwdコマンドは、ユーザーのパスワードを変更します。ユーザーは自分のパスワードのみを変更できますが、root/スーパーユーザーは任意のユーザーのパスワードを変更できます。
このコマンドの使用法を理解するために、Linuxのマニュアルページを見てみましょう。これを行うには、次のコマンドを入力します。
$ man passwd
Linuxのパスワード
UNIXベースのシステムにパスワードを保存する従来の方法では、情報を / etc / passwdに保存していました。 ファイル。
ただし、このファイルは多くのプログラムによってアクセスされたため、セキュリティ上のリスクがありました。
現在、/etc/passwd
ファイルには、ログインと認証に必要な重要なユーザー情報のみが含まれています。
パスワードの実際の暗号化バージョンは、別のファイル(/etc/shadow
)に保存されます。 。このファイルには、rootユーザーのみがアクセスできます。
-
/etc/passwd
passwdファイルの内容
ファイルの各行には、特定のプログラムまたはユーザーに関する一般的なユーザー情報が含まれています。フィールドは
:
で区切られます 。
これらのフィールドは次のとおりです:- ユーザー名(最大8文字)
- xは、
/etc/shadow
に保存されているパスワードを示します。 暗号化された形式のファイル。 - 数値ユーザーID。
- 数値グループID。
- 完全なユーザー名。
- ホームディレクトリのパス。
- 優先シェルのパス。 (
"/bin/bash"
)
-
/etc/shadow
ファイルは次のようになります(rootアクセスが必要です)。シャドウファイルの内容
このファイルには、アカウントとパスワードの情報が含まれています。フィールドは
:
で区切られます 。ユーザーアカウント情報に対応するフィールドは次のとおりです。
- ユーザー名(最大8文字)
- 2番目のフィールドには暗号化されたパスワードが含まれ、サブフィールドに分割されます(
$
で区切られます) 最初のサブフィールドは、使用される暗号化アルゴリズムを示します。$1$ - MD5 $2a$ - Blowfish $2y$ - Blowfish(v2) $5$ - SHA-256 $6$ - SHA-512
2番目のサブフィールドには、暗号化プロセス中に使用されるソルト値が含まれます。 3番目のサブフィールドには、暗号化されたパスワードが含まれています。
- パスワードが変更されてからの日数。
- パスワードが変更されるまでの日数(0はいつでもパスワードが変更される可能性があることを示します)。
- パスワードを変更する必要がある日数。
- パスワードの有効期限が切れる前の日数。ユーザーに警告する必要があります。
- パスワードの有効期限が切れてからアカウントが無効になるまでの日数。
- アカウントが非アクティブまたは無効になっている1970年1月1日からの日数。
- 追加情報のためにフィールドを予約します。
Linuxパスワードコマンド構文
$ passwd [options]... [LOGIN]...
1。現在のユーザーのパスワードの変更
PasswdComandと入力する
passwdと入力すると、ユーザーは最初に現在のパスワードを入力するように求められます。ユーザーは、正しいパスワードを入力するチャンスを1回だけ取得します。入力したパスワードが間違っているか、その時点で変更できない場合、端末はエラーを表示して終了します。
Passwd認証エラー
パスワードを入力すると、パスワードが暗号化され、保存されている暗号化されたパスワードと照合されます。次に、ユーザーは新しいパスワードを2回入力するように求められます。有効なパスワードとして受け入れられるためには、両方のパスワードが十分に複雑で、互いに一致している必要があります。
新しいパスワードの入力
新しいパスワードが古いパスワードとよく似ている場合は、エラーが表示されます。
すべての基準が満たされると、現在のユーザーのパスワードが正常に変更されます。
新しいパスワードセット
2。別のユーザーのパスワードを変更する
次のコマンドは、別のユーザーのパスワードを変更するために使用されます。
$ sudo passwd adam
他のユーザーのパスワードを変更するにはrootアクセスが必要なため、端末はユーザーにパスワードの入力を求めます。他のユーザーのパスワードを変更するプロセスは、現在のユーザーと同じです。
Linuxpasswdコマンドオプション
- -d または–削除 オプションは、ユーザーのパスワードを削除します。ユーザーのアカウントをパスワードなしに設定します。
- -e または–期限切れ オプションは、ユーザーのパスワードをすぐに期限切れにします。これにより、パスワードの変更を余儀なくされる可能性があります。
- -h または–ヘルプ オプションはヘルプメッセージを表示して終了します。
- -l </ strong> または–ロック オプションは、パスワードの先頭に「!」を追加することにより、指定されたアカウントのパスワードをロックします。これにより、暗号化されたハッシュが保存されたハッシュと正常に照合されなくなります。パスワードがロックされているユーザーは、パスワードを変更できません。
- -i [INACTIVE_DAYS] または–非アクティブ[INACTIVE_DAYS] オプションは、パスワードの有効期限が数日間続くとアカウントを無効にします。
- -n [MIN_DAYS] または–mindays [MIN_DAYS] オプションは、パスワード変更間の最小日数を設定します。
0
の値 パスワードはいつでも変更できることを示唆しています。 - -r[リポジトリ] または–リポジトリ[リポジトリ] オプションは、特定のリポジトリのパスワードを設定します。
- -S または–ステータス アカウントのステータス情報を表示します。
- -a または–すべて オプションは、すべてのユーザーのステータスを表示します。 -Sでのみ使用できます 。
- -u または–ロックを解除 optionsは、ロックされたパスワードのロックを解除し、以前の値に設定します。
- -w [WARN_DAYS] または–warndays [WARN_DAYS] オプションは、パスワードの変更が必要になるまでに警告が表示される日数を設定します。
- -x または–maxdays [MAX_DAYS] オプションは、パスワードが有効であり続ける最大日数を設定します。その後、パスワードを変更する必要があります。
Passwd非アクティブオプション
PasswdMindaysオプションの例
passwdステータスオプションの例
上記のように、出力はさまざまなフィールドに分割されます。最初のフィールドには、現在のユーザーの名前が表示されます。
2番目のフィールドは、ユーザーが使用可能なパスワード( P )を持っているかどうかを示します )、ロックされたパスワード( L )またはパスワードなし( NP 。
3番目のフィールドには、パスワード変更の最終日が表示されます。次のいくつかのフィールドには、パスワードの最小年齢、最大年齢、警告期間、および非アクティブ期間がそれぞれ表示されます。
passwdwarndaysオプションの例
passwdmaxdaysオプションの例
結論
Linux passwdコマンドは、基本的ですが重要なコマンドです。システムにログインし、パッケージのインストールや特定のディレクトリへのアクセスなど、ターミナルでさまざまなタスクを実行するときに、重要なユーザー情報と認証を処理するために使用できます。