はじめに
htpasswd(htaccessはおまけ)の使い方を毎回調べなくて良いようにメモ。
自分の場合はapacheやnginxでbasic認証をかける際にサクっと使うのが目的です。
アジェンダ
1. basic認証とは
説明するまでも無いかもですがいちおう
basic認証とは
参考サイト引用
BASIC認証とは、Webサイトの閲覧に使うプロトコル「HTTP」が備える、最も基本的なユーザ認証方式。
参考 : http://e-words.jp/w/BASIC%E8%AA%8D%E8%A8%BC.html
こんな画面が出るやつですね。よく見るヤツです。
どうやってかけるか
.htpasswd
と.htaccess
というファイルを使っておこないます。
.htpasswd
にユーザとパスワードを記述、
basic認証をかけたいディレクトリに.htaccess
を置くことで
そのディレクトリ配下がbasic認証の対象となります。
これらのファイルの作成は簡単で .htpasswd
を作成する場合であれば
後述するhttpd-tools(htpasswdコマンド)
を使って1行コマンド打つ程度です。
以下それぞれの説明
.htpasswd
とは
.htpasswd
とは
- Webサーバで使用できるWebサーバの動作をディレクトリ単位で制御するためのファイル
2. htpasswdコマンドで.htpasswd
作成
htpasswdコマンドで.htpasswd
を作成します。
※ .htpasswdを置くディレクトリに移動 $ cd /etc/httpd/conf ※ htpasswdコマンドで.htpasswd作成&ユーザ追加 ※ -cコマンドで新規作成。他オプションは後述 $ sudo htpasswd -b -m -c .htpasswd hoge hogepass ※ 中身見てみる $ cat .htpasswd hoge:D085DemY7wQYI ※ ユーザを追加&確認 $ sudo htpasswd -b .htpasswd piyo piyopass $ cat .htpasswd hoge:D085DemY7wQYI piyo:t6GHRD/miw7Ig
※ -mオプションでmd5ハッシュをかけたほうがより安全です
htpasswdのオプション
オプション | 説明 |
---|---|
-c | 新しいパスワードファイルを作成します。もし、同名のパスワードファイルがすでに存在する場合は、既存の内容が削除されます。 |
-n | どのような結果になるかのみを標準出力して終了します。パスワードファイルを変更しません(テスト実行用)。 |
-m | パスワードをファイルに書き込む際、MD5 でハッシュします。 |
-d | パスワードをファイルに書き込む際、CRYPT でハッシュします(デフォルト)。 |
-p | パスワードをファイルに書き込む際、ハッシュしないで、プレーンなテキストのまま書き込みます。 |
-s | パスワードをファイルに書き込む際、SHA でハッシュします。 |
-b | パスワードを、対話式入力ではなくて、コマンドライン引数として指定できるようにします。 |
こちらを引用させていただきました。thx!
引用 : htpasswd コマンド
3. .htaccess
を置いてbasic認証をかける
確認のために、公開してるwebページが置いてある場所など
アクセス可能なディレクトリに.htaccess
を置きます。
普通にアクセスできる -> .htaccessを置くとbasic認証がかかる
の
確認のために行うので外からアクセスしてみれるページが良いですね。
$ cd 公開してるページのディレクトリ $ vi .htaccess ---- vi作成 ---- AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "input your id and passwd" AuthType Basic require hoge piyo ----------------
4. webサーバの設定をする
$ ---- vi編集 ---- # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None ↓ 編集 AllowOverride All
あとはアクセスしてみて最初の画像のようなダイアログが出れば終わりです。
おわり
basic認証は簡易的な認証でじゃっかん不安はあるものの、
とはいえ急遽必要な場合なんかは無いよりはあったほうが良いですよね!
操作でやることはほとんどないんだけど、文章で書くと大変です。。。w