Apacheサーバのディレクトリにアクセス制限 htaccess, htpasswd
... Linux・UNIX > コマンド
written 2006/6/6
そのディレクトリに「.htaccess」というファイルを置く。
ユーザー認証のみかける場合は、以下のとおり。
ディレクトリは
/home/○○/public_html/△△/
とし、そこにパスワードファイル(.htpasswd)を置くとします。
AuthUserFile /home/○○/public_html/△△/.htpasswd
AuthName "Secret Zone"
AuthType Basic
require valid-user
内容はこんな感じ。
認証ユーザーの登録にはコマンド「htpasswd」を使用します。
$ htpasswd -c /*/*/.htpasswd taro
ここで2回パスワードを入力。
最初の引数でパスワードファイルの場所、2番目の引数でユーザー名です。スイッチ「-c」は 最初のときだけ(パスワードファイルを新規作成するとき)使います。2回目以降のユーザー追加の際はいらないです。
$ htpasswd /*/*/.htpasswd jiro
こうですね。
間違ってもう一度「-c」を使ったら、以前入力したものが破棄されるかもです。
「.htpasswd」の中を見ると、ユーザー名とパスワードの一覧になってます。パスワードは暗号化されています。
ユーザー削除のときは、.htpasswdをエディタで開いて該当行を削除。修正したい(パスワード変更したい)ときは、
$ htpasswd /*/*/.htpasswd taro
とやってパスワードを入力すれば上書きされるみたいです。
なお、これはLinuxログインして、シェルからユーザー登録していますが、それができない場合(ftp等でしかサーバにアクセスできない場合)は「.htpasswd」を手動で作成します。
単に
ユーザー名:Basic暗号化されたパスワード
という内容を書けばいいのですが、暗号化するためにはスクリプトを使うなどの工夫が必要です。
Linuxコマンドを使える状況であれば、
$ htpasswd -n taro
でパスワードを入力すれば、暗号化されたパスを視認することができます。(この場合標準出力するだけで、ファイルは更新しない)
現在のカテゴリ : ... Linux・UNIX > コマンド