htpasswd コマンド

目的

HTTP ユーザーの基本認証用のユーザー名とパスワードの保管に使用するフラット・ファイルの作成と更新を行います。

構文

htpasswd [ -m ] [ -D ] passwdfile username

htpasswd -b [ -m | -d | -s ] [ -D ] passwdfile username password

htpasswd -n [ -m | -d | -s ] username

htpasswd -nb [ -m | -d | -s ] username password

説明

htpasswd コマンドは、HTTP ユーザーの基本認証用のユーザー名とパスワードの保管に使用するフラット・ファイルの作成と更新を行います。 htpasswd がファイルにアクセスできない場合、つまり出力ファイルへの書き込みができない場合やファイルを読み取って更新できない場合は、エラー状況を戻し、変更は行ないません。Apache HTTP Server から使用可能なリソースの使用は、htpasswd で作成されたファイルにリストされているユーザーのみに限定されます。

このプログラムは、フラット・ファイルに保管されているユーザー名とパスワードのみを管理できます。ただし、他のタイプのデータ保管で使用するためにパスワード情報を暗号化して表示することはできます。 htpasswd は、Apache 用に変更されたバージョンの MD5 またはシステムの暗号化ルーチンのいずれかを使用して、パスワードを暗号化します。 htpasswd が管理するファイルは、両方のタイプのパスワードを含むことがあります。ユーザー・レコードによっては、パスワードが MD5 で暗号化されている場合と、システム暗号化ルーチンで暗号化されている場合があり、これが同じファイル内に共存することがあります。

フラグ

-b バッチ・モードを使用します。つまり、パスワードのプロンプトが出されるのではなく、パスワードがコマンド行から取得されます。この場合、コマンド行パスワードがはっきり表示されるので、このオプションを使用するには十分な注意が必要です。
-d パスワードにシステム暗号化を使用します。
-D ユーザーを削除します。指定された htpasswd ファイルに username が存在すると、削除されます。
-m パスワードに MD5 暗号化を使用します。
-n ファイルを更新せずに、標準出力に結果を表示します。これは非テキストのデータ保管に取り込めるようにパスワード・レコードを生成する場合に便利です。このオプションでは、passwdfile 引数 (通常は最初の引数) が省略されるため、コマンド行の構文が変更されます。このオプションを -c オプションと組み合わせることはできません。
-s パスワードに SHA 暗号化を使用します。

パラメーター

passwdfile ユーザー名とパスワードが入っているファイルの名前を指定します。 -c を指定すると、このファイルが存在しない場合は作成され、存在する場合は再書き込みまたは切り捨てが行われます。
password 暗号化してファイルに保管するプレーン・テキストのパスワードを指定します。 -b フラグを指定した場合にのみ使用されます。
username passwdfile を作成または更新するための username を指定します。このファイルに username が存在しない場合は、エントリーが追加されます。存在する場合は、password が変更されます。

セキュリティー

htpasswd で管理される種類の Web パスワード・ファイルは、Web サーバーの URL スペースには置かないようにしてください。つまり、ブラウザーで取り出せないようにする必要があります。 -b オプションを使用すると、暗号化されていないパスワードがコマンド行に表示されるため、お勧めしません。

戻りコード

passwdfileusernamepassword が正常に追加または更新されると、htpasswd コマンドはゼロ状況 (True) を戻します。

ファイルへのアクセス中に問題が検出された場合は、htpasswd は 1 を戻します。

コマンド行の構文に問題があった場合は、htpasswd は 2 を戻します。

パスワードが対話式に入力された場合、検査エントリーが一致しないと、htpasswd は 3 を戻します。

操作が中断された場合は、htpasswd は 4 を戻します。

値 (ユーザー名、ファイル名、パスワード、または最終計算レコード) が長すぎる場合は、htpasswd は 5 を戻します。

ユーザー名に無効な文字が含まれている場合は、htpasswd は 6 を戻します (制限に関するセクションを参照)。

ファイルが有効なパスワード・ファイルでない場合は、htpasswd は 7 を戻します。

関連情報

apachectl コマンドおよび htpasswd コマンド