【04: アクセス制御】

ある特定のディレクトリやページへアクセスする際に、ユーザID とパスワードを要求し正しく無い場合はアクセスを拒否するような設定を、アクセス制御といいます。

アクセス制御には、いくつかの方法がありますが、ここでは Basic 認証というアクセス制御方法をご案内します。

たとえば、/www/htdocs ディレクトリに作成した Taro というサブディレクトリに対して Basic 認証を設定し、ユーザ jiro のみアクセス可能な設定をするとします。
これにはまず、そのサブディレクトリに以下の内容の .htaccess というファイル名の設定ファイルを作成します。

AuthUserFile /etc/.htpasswd
AuthGroupFile /dev/null
AuthName "Welcome"
AuthType Basic

<Limit GET>
require user jiro
</Limit>
この設定では、Taro ディレクトリにアクセスできるのは jiro というユーザだけになります。
またアクセスにはパスワードが必要となります。パスワードが格納されているのが、/etc/.htpasswd ファイルです。これは AuthUserFile で指定されています。
AuthName は必ず " (ダブルクォーテーション)で囲んでください。
次に、アクセスを許可するユーザ jiro のパスワードを設定します。
Telnet もしくは SSH でサーバにログインし、以下のコマンドを実行してください。
コマンドを実行すると、パスワードを求められますので入力してください。

% htpasswd -c /etc/.htpasswd jiro
New password: パスワードを入力します
Re-type new password: 確認のため再度同じパスワードを入力します
このパスワードファイルに他のユーザを追加するには -c フラグを外したかたちで htpasswd コマンドを使います。

以下の例は、ユーザsaburoを追加するものです。

% htpasswd /etc/.htpasswd saburo