[pgsql-jp: 34766] Re: 最後に作成したグループにHBAが効かない

佐藤卓史 takusato1974 @ yahoo.co.jp
2005年 1月 29日 (土) 22:59:32 JST


お世話になっております。佐藤です。
高塚さん、ご返信ありがとうございます。

TAKATSUKA Haruka wrote:
>>Gentoo Linux 上に PostgreSQL 7.4.6 をインストール、設定していて、
>>「pg_hba.conf」の「+グループ名」が効かないことがあることに気が付きました。
> 
> 
> 本当ですね。
> 
> =# CREATE GROUP group1;
> =# CREATE USER user1 encrypted password 'user1';
> =# ALTER GROUP group1 ADD USER user1;
> とすると、即座に $PGDATA/data/global/pg_group が更新されるのに、
> 
> =# create group group1;
> =# create user user1 encrypted password 'user1' in group group1;
> だと変化しません。

そのようです。「最後に作成したグループ」という先入観があって、調べ方が甘
くなってしまいました。すみません。

つまり「最後に作成したグループ」でなくて、「IN GROUP 付きで作成したユー
ザ」に対して、グループに対する別の操作があるまで、HBA 上はグループに追加
されたことにならないようです。

とりあえず、IN GROUP 句を使用しないでユーザを作成し、後でグループに追加
することにしたいと思います。

> 
> |backend/commands/user.c
> | void
> | AtEOXact_UpdatePasswordFile(bool isCommit)
> | {
> |    Relation    urel = NULL;
> |    Relation    grel = NULL;|
> |
> |    if (!(user_file_update_needed || group_file_update_needed))
> |        return;
> 
> user_fileとgroup_fileを片方ずつ更新が必要な状況なら動作するわけで、
> これバグですよね。
> (残念ながら) PosetgreSQL 8.0では既に直されているみたいです。
> #ピント外れてましたら識者ツッコミ求む
> 
-- 
Takuji Sato <takusato1974 @ yahoo.co.jp>
http://www.geocities.jp/takusato1974/

__________________________________
Let's Celebrate Together!
Yahoo! JAPAN
http://pr.mail.yahoo.co.jp/so2005/




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