株式会社エスロジカル
株式会社エスロジカル
セキュリティ、Web開発、Unix開発、Go言語

■ Apache:htpasswd コマンド

技術ドキュメント目次 -> Apache -> htpasswd コマンド

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ はじめに

Basic認証のパスワードファイルを作成するときに使用する、
htpasswd コマンドについて解説します。

なお、
htpasswd コマンドは、
(Apache のディレクトリ)/bin/htpasswd として自動的にインストールされます。

◆ Basic認証の設定

まず、Apache で Basic認証を行うための設定方法をおさらいします。

<Directory ****>~</Directory>での指定や、
.htaccess に次のように指定することで、
指定した領域を Basic認証の対象エリアにすることができます。

AuthUserFile /usr/local/apache/auth/.htpasswd
AuthName "Input ID/PW"
AuthType Basic

require valid-user


htpasswd コマンドは、
上記の AuthUserFile で指定しているパスワードファイルを作成します。

◆ htpasswd コマンドの実行方法

コマンドライン引数は、次のような構文で指定します。

 htpasswd [-cmdps] passwordfile username
 htpasswd -b[cmdps] passwordfile username password
 htpasswd -n[mdps] username
 htpasswd -nb[mdps] username password


オプションの意味は、それぞれ次のようになります。

 -c  新しいパスワードファイルを作成します。
     もし、同名のパスワードファイルがすでに存在する場合は、
     既存の内容が削除されます。
 -n  どのような結果になるかのみを標準出力して終了します。
     パスワードファイルを変更しません(テスト実行用)。
 -m  パスワードをファイルに書き込む際、MD5 でハッシュします。
 -d  パスワードをファイルに書き込む際、CRYPT でハッシュします(デフォルト)。
 -p  パスワードをファイルに書き込む際、ハッシュしないで、プレーンなテキストのまま書き込みます。
 -s  パスワードをファイルに書き込む際、SHA でハッシュします。
 -b  パスワードを、対話式入力ではなくて、コマンドライン引数として指定できるようにします。


なお、
-d(デフォルト)を用いるときは、
長いパスワード(8文字以上)を使用しないほうが懸命です。
ハッシュのアルゴリズムの制約により、
8文字目以降の文字列は無視されてしまうからです。

たとえば、
$ htpasswd -bdc ..../.htpasswd user passwordABCDE
として作成したパスワードファイルを使った認証エリアへは、
ID/PW に user/password と入力することでアクセスできてしまいます。

長いパスワードを使用したいときは、-mオプションなどを使用してください。

また、
-b オプションは、
パスワードファイルの自動更新などのバッチ処理などで有効です。




■ Apache についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. このドキュメントへの評価をご選択ください。
         

2. ご感想をお書きください。