今回は、Silverの「S2 運用管理 - S2.3 設定ファイル(pg_hba.conf)」からの出題です。
test1というデータベースにtest1というユーザで接続するときは、パスワードなしで認証される。
testというデータベースにtest1というユーザで接続するときは、パスワードなしで認証される。
test1というデータベースにtestというユーザで接続するときは、パスワードで認証する。
testというデータベースにtestというユーザで接続するときは、パスワードで認証する。
test2というデータベースにtest1というユーザで接続するときは、接続を拒絶される。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2016年1月25日
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事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.