PREPARATION
受験対策

Silverの例題解説
「S2.3 設定ファイル」

今回は、Silverの「S2 運用管理 - S2.3 設定ファイル」からの出題です。

例題

2.14

PostgreSQLサーバはIPアドレス 192.168.1.10 のサーバで動作しており、 pg_hba.conf の内容が以下である。

local all all ident
host all all 127.0.0.1/32 ident
host foo bar 192.168.1.0/24 md5
host all bar 192.168.1.0/24 reject
host foo all 192.168.1.0/24 trust

IPアドレスが 192.168.1.11 のクライアントからこのデータベースに接続するときの記述について、選択肢の中から正しいものをすべて選びなさい。

  1. ユーザ foo がデータベース bar にアクセスするときはパスワードを入力する必要がある

  2. ユーザ bar がデータベース foo にアクセスするときはパスワードを入力する必要がある

  3. ユーザ foo はデータベース foo にはアクセスできない

  4. ユーザ bar はデータベース bar にはアクセスできない

  5. ユーザ hoge はデータベース foo にパスワードなしでアクセスできる

※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2012年4月18日

解答と解説

PostgreSQLのクライアント認証はデータベースクラスタのディレクトリにあるpg_hba.conf というファイルで管理されています。
各行は接続タイプ、接続先DB、ユーザ名、接続元ホスト、認証方法の5つのフィールドで構成されます。ただし、接続タイプが local の行には接続元ホストのフィールドがないため、フィールドは4つになります。
クライアント認証時は、接続先DB、ユーザ名、接続元ホストの組み合わせがマッチする行を上から順に探し、マッチする行があればその行にある認証方法を利用、マッチする行がなければ接続を拒否することになります。

例題のケースで、IPアドレスが 192.168.1.11(192.168.1.0/24のネットワーク)のクライアントからのアクセスについては、pg_hba.confの3行目以降がこれに該当します。これらは
(1) ユーザ bar がデータベース foo にアクセスする場合はパスワード認証
(2) ユーザ bar が任意のデータベースにアクセスする場合は接続拒否
(3) 任意のユーザがデータベース foo にアクセスする場合は、他の認証なしに接続許可
という優先順位になっており、それ以外のパターンについては、接続拒否となります。

選択肢について順に調べると、
Aは上の(1)~(3)のいずれにも該当しないので、接続拒否、
Bは(1)なので、パスワード認証((2)と(3)にも該当しますが(1)が優先します)、
Cは(3)なので、接続許可(パスワード不要)、
Dは(2)なので、接続拒否、
Eは(3)なので、接続許可(パスワード不要)、
となります。

従って、正解は B、D、E です。

今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。

※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

企業の基幹システムや業務システムでの
OSS-DBの採用がますます拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定資格になります

OSS-DBの受験対策について

受験の学習をサポートする情報や対策に役立つ情報をご紹介

サンプル問題/例題解説

例題 のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関のご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

LPI-Japan
Platinum Sponsors