htpasswd の使い方
Basic 認証のパスワードのファイルを作る
書き方
htpasswd -c ファイル 利用者(作る・上書き) htpasswd ファイル 利用者(足す・変える) htpasswd -b ファイル 利用者 パスワード htpasswd -D ファイル 利用者(消す) htpasswd -v ファイル 利用者(確かめる)
Apache の AuthUserFile に書くファイルを作ります。-c は新しく作るので、2 人目からは付けません(付けると 1 人目が消えます)。-B で bcrypt。httpd-tools パッケージに入っています。
よく使うオプション
| オプション | 意味 |
|---|---|
-c | ファイルを新しく作る(あれば上書きして中身が消える) |
-b | パスワードをコマンドの中に書く(聞かれない) |
-B | bcrypt で保存する(強い) |
-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 devdev をファイルから消します。
$ curl -u ops:パスワード -I http://localhost/admin/
設定のあと、パスワード付きで開けるか確かめます。付けないと 401 が返ります。
よくある間違い・注意
- 2 人目に -c を付けると、ファイルが作り直されて 1 人目が消えます。
- -b はパスワードがコマンドの履歴に残ります。ふだんは聞かれて打つ形にします。
- パスワードのファイルは、公開するディレクトリ(/var/www/html)の外に置きます。
実際に打って練習する
Linux レベル2 コースの Lv72「館の合言葉 Basic 認証」で覚えます(第6章 館と広間(Web と共有のサーバー))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、ゴールド以上のプランで遊べます。