[pgsql-jp: 29128] pg_hba.confのエントリーエラー

Takeo Shibata shibata @ areabe.com
2003年 2月 19日 (水) 06:14:39 JST


私は
postgresqlで利用してますが
同様のエラーが発生してます
問題なのは
いままで接続できていたのが
2度と接続できなくなるということで

Versionは7.2.2ですが、

pg_hab.confの
エントリーに

host	DB_name 	127.0.0.1	255.255.255.255  md5
host 	DB_name	192.168.1.0 	255.255.255.0	  md5	pgusr.dat

だけをいれておりました
postgresqlのユーザー名ではlocalhostである

192.168.1.241からアクセスするのですが
pgusr.datにはあるUNIXではないDBだけのユーザーを登録しておき
2つめの192.168.1.0のネットワークでいろいろhostsslにしたりしてテストしていま
したが

突然localhostからpostgresで
アクセスできなくなりました
psql DB_name
でやると以下のエラーが出ます

エラーは
psql Fatal error 1, No pg_hba.conf
entry for host localhost, user postgres, database DB_name
ですが
通常これはhost DB_name 127.0.0.1 に
含まれているとは思うのですが
pgusr.datにpostgresを追加しても
だめでした

md5をtrustにしてもなにをやっても
一旦こうなるともうだめです。
DBを削ることもできず、ファイルでごりごりけすしかないのかもしれません

以前も同様なことがおこりましたので
なにかpostgresqlのバグかなにかではと疑ってます

それか192.168.1.0をpgusr.datで指定しているうちに
そこでロックアウトしてしまったのでしょうか?
よくわかりません。

こうなるといくらどのように
ph_hba.confを変えようが
接続できません

ただしもともと接続していた
DB専用ユーザーが
192.168.1.0のマシンからはアクセス可能です

何が原因でしょうか?
127.0.0.1のアクセスは正常に参照されているのでしょうか?


確実に再現できるかどうかはわかりませんが
1.psqlコマンド内でcreateuser でユーザーをパスワードをつけて作成する
2.そのユーザーにテーブルに対してselect,updateなど適当に権限を認める
3.postgresql.confでtcpIP_socket,ssl,encrypt_passwordをtureにする
4. pg_hba.confで

host	DB_name 	127.0.0.1	255.255.255.255  md5
host 	DB_name	192.168.1.0 	255.255.255.0	  md5	pgusr.dat

のエントリーをいれる
pgusr.datには作成したDBユーザー名をいれておく

再起動する、ローカルホストからpostgresでこのDBにアクセスできることをたしか
める
2つめの
host 	DB_name	192.168.1.0 	255.255.255.0	  md5	pgusr.dat
をhostsslに変えて何度も実験してみる
しばらくしてからローカルマシンからpostgresqalでアクセスを試みる

私の場合は実験とは
JDBCドライバーにSSLを突っ込んでアクセスをこころみていたときに
発生しました。

少なくとも私が体験している現象は
何らかの理由でpostgresユーザー自体のアクセスを拒否して
どういった変更もかけられなくなって状態のようにもみえます

ちなみにこの権限を手動で解除する方法はあるのでしょうか?





pgsql-jp メーリングリストの案内