HOME > 受験対策 > サンプル問題/例題解説 > Silverの例題解説「運用管理」 > 設定ファイル(pg_hba.conf)

Silverの例題解説「運用管理 - 設定ファイル(pg_hba.conf)」

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

例題

ホストdbserver(192.168.1.11)で稼働しているデータベースに、クライアントdbclient(192.168.1.12)上のユーザtest1がpsqlを使って接続する。pg_hba.confの内容が次の通りであるとして、以下の記述から適切なものを2つ選びなさい。

local all all peer
host test all 192.168.1.12/32 trust
host all all 192.168.1.0/24 md5

  1. A. test1というデータベースにtest1というユーザで接続するときは、パスワードなしで認証される。
  2. B. testというデータベースにtest1というユーザで接続するときは、パスワードなしで認証される。
  3. C. test1というデータベースにtestというユーザで接続するときは、パスワードで認証する。
  4. D. testというデータベースにtestというユーザで接続するときは、パスワードで認証する。
  5. E. test2というデータベースにtest1というユーザで接続するときは、接続を拒絶される。

※この例題は実際のOSS-DB技術者認定試験とは異なります。

解答と解説

pg_hba.confはクライアント認証の方法を記述するファイルです。
接続元のクライアント、接続先のデータベース名、接続時のユーザ名の組み合わせでマッチするものを上から順に探し、最初に見つかった行に記述されている認証方法が使用されます。
先頭の列はUnixドメインソケットを利用した接続に対応するlocalか、TCP/IPによる接続に対応するhostになっていることが多いでしょう。
2つ目の列は接続先のデータベース名、3つ目の列は接続時のデータベースユーザの名前ですが、allがワイルドカードの代わりになっていて、全データベースあるいは全ユーザをそれぞれ表します。
hostの場合、4番目の列は接続元クライアントを表します。
localの4番目、hostの5番目の列が認証方法で、OSのユーザ名とDBのユーザ名が一致しているかを検査するpeerおよびident、パスワード認証のmd5、無条件で接続を許すtrust、無条件で接続を拒絶するrejectなどがあります。
例題のpg_hba.confの1行目はlocalでpeer認証をする指定ですが、例題のシナリオではTCP/IP接続なので、無視されます。
2行目は192.168.1.12というIPアドレスからtestというデータベースに接続するとき、接続時のデータベースユーザの名前が何であっても、無条件に接続を許す、という設定です。
3行目は192.168.1.0/24というネットワーク上のホストからの接続は、どのデータベース、どのユーザであっても、パスワード認証を行う、という設定です。
選択肢のBとDは2行目の方式、AとCとEは3行目の方式で認証されます

従って、正解はBとCです。

  • 今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

ページトップへ