LinuCレベル2 Version 4.5 202試験の例題と解説

208.1Apacheの基本的な設定

今回は202試験の試験範囲から「208.1 Apacheの基本的な設定」についての例題を解いてみます。
重要度の高いテーマですので、出題範囲を抑えておきましょう。
■トピックの概要
このトピックの内容は以下の通りです。
<208.1 Apacheの基本的な設定>
重要度 4
<説明>
Web サーバのインストールと設定。これには、サーバの負荷と性能の監視、クライアントからのユーザアクセスの制限、モジュールとしてのスクリプト言語をサポートする設定、およびクライアントユーザの認証設定も含まれる。また、サーバのオプション設定でリソースの使用を制限することも含まれる。仮想ホストを使用するようWebサーバを設定し、ファイルへのアクセスをカスタマイズする。
<主要な知識範囲>
・Apache 2.4 の設定ファイル、用語、ユーティリティ
・Apacheのログファイルの設定と内容
・アクセス制限の方法とファイル
・mod_perlとPHPの設定
・クライアントユーザを認証するファイルとユーティリティ
・最大リクエスト数、最小/最大サーバ数およびクライアント数の設定
・Apache 2.4 における仮想ホストの実装 (専用 IPアドレスがある場合とない場合)
・ファイルへのアクセスをカスタマイズするために、Apache の設定ファイルで redirect文を使用する
<重要なファイル、用語、ユーティリティ>
・アクセスログとエラーログ
・.htaccess
・httpd.conf
・mod_auth_basic, mod_authz_host and mod_access_compat
・htpasswd
・htgroup
・apachectl, apache2ctl
・httpd, apache2
■例題
httpd のBASIC認証が以下のように設定されているとします。
(設定1)httpdの設定ファイル(httpd.conf)の内容
-------------------------------------------
<Location /basic>
AuthType Basic
AuthName "Authorized user only"
AuthBasicProvider file
AuthUserFile /etc/httpd/password/users
AuthGroupFile /etc/httpd/password/groups
Require group linuc_grp
</Location>
-------------------------------------------
(設定2)/etc/httpd/password/users ファイルの内容
-------------------------------------------
user01:$apr1$hvum1Gon$a40mjo2VnE4XRX8KvUgtW.
user02:$apr1$K0AG2qz0$80Zm2L04qYMku6OfnGpbK0
-------------------------------------------
(設定3)/etc/httpd/password/groups ファイルの内容
-------------------------------------------
linuc_grp: user02 user03
-------------------------------------------
このとき、ロケーション「/basic」のサイトを閲覧可能なユーザを下記の選択肢から選択してください。
1. user01
2. user02
3. user03
※この例題は実際の試験問題とは異なります。


解答と解説

答えは2 です。

AuthBasicProvider ディレクティブには、認証プロバイダを設定します。
この例題では、パスワードファイルでの認証を指定しています。
認証プロバイダには、file のほかに、dbm, dbd, ldap, socache などを指定できます。
AuthUserFile ディレクティブには、認証に使用するユーザとパスワードの一覧を記述したテキストファイルへのパスを設定します。
このテキストファイルは、htpasswd コマンドで下記のようにして作成することができます。
# htpasswd -c /etc/httpd/password/users user01
New password: (パスワードを入力)
Re-type new password: (パスワードを再入力)
AuthGroupFile ディレクティブには、認証に使用するグループとユーザの一覧を記述したテキストファイルへのパスを設定します。
グループファイルの各行は、グループ名とコロンに続けて、スペース区切りでそのグループに属するユーザ名を記述します。
Require ディレクティブは、認証されたユーザーが特定の認証プロバイダおよび指定された制限に従って承認されているかどうかをテストします。
「Require group linuc_grp」という記述は、group がlinuc_grpであるユーザに対して、コンテンツの閲覧を許可するという意味になります。
選択肢を一つずつ見ていきましょう。
1. user01 は、ユーザのパスワードファイル「/etc/httpd/password/users」に記述がありますが、グループファイル「/etc/httpd/password/groups」では、グループ「linuc_grp」に所属していません。「Require group linuc_grp」の制約により、グループ「linuc_grp」に所属していないユーザはサイトを閲覧できません。したがって、選択肢1 は誤りです。
2. user02 は、ユーザのパスワードファイル「/etc/httpd/password/users」に記述があり、グループファイル「/etc/httpd/password/groups」でも、グループ「linuc_grp」に所属しています。「Require group linuc_grp」の制約により、グループ「linuc_grp」に所属しているユーザはサイトを閲覧できます。したがって、選択肢2 は正解です。
3. user03 は、ユーザのパスワードファイル「/etc/httpd/password/users」に記述がありません。そのため、user03はサイトの閲覧を許可されたユーザではありません。したがって、選択肢3 は誤りです。
Basic認証の各種ディレクティブとその設定パラメータについて、意味を理解しましょう。
■例題作成者
ページトップへ