htpasswd の使い方

Basic 認証のパスワードのファイルを作る

書き方

htpasswd -c ファイル 利用者(作る・上書き)
htpasswd ファイル 利用者(足す・変える)
htpasswd -b ファイル 利用者 パスワード
htpasswd -D ファイル 利用者(消す)
htpasswd -v ファイル 利用者(確かめる)

Apache の AuthUserFile に書くファイルを作ります。-c は新しく作るので、2 人目からは付けません(付けると 1 人目が消えます)。-B で bcrypt。httpd-tools パッケージに入っています。

よく使うオプション

オプション意味
-cファイルを新しく作る(あれば上書きして中身が消える)
-bパスワードをコマンドの中に書く(聞かれない)
-Bbcrypt で保存する(強い)
-D利用者を消す
-vパスワードが合っているか確かめる

例

$ sudo htpasswd -c -B /etc/httpd/.users opsNew password:
Re-type new password:
Adding password for user ops

パスワードのファイルを作り、1 人目の ops を登録します。パスワードは 2 回聞かれます。

$ sudo htpasswd -B /etc/httpd/.users dev

2 人目からは -c を付けずに足します。

$ sudo htpasswd -D /etc/httpd/.users devDeleting password for user dev

dev をファイルから消します。

$ curl -u ops:パスワード -I http://localhost/admin/

設定のあと、パスワード付きで開けるか確かめます。付けないと 401 が返ります。

よくある間違い・注意

  • 2 人目に -c を付けると、ファイルが作り直されて 1 人目が消えます。
  • -b はパスワードがコマンドの履歴に残ります。ふだんは聞かれて打つ形にします。
  • パスワードのファイルは、公開するディレクトリ(/var/www/html)の外に置きます。

実際に打って練習する

Linux レベル2 コースの Lv72「館の合言葉 Basic 認証」で覚えます(第6章 館と広間(Web と共有のサーバー))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

すべてのレベルが、ゴールド以上のプランで遊べます。

Linux サーバー構築のコマンド一覧(LinuC レベル2 の範囲)へ戻る