[pgsql-jp: 37361] Re: システムテーブルの権限設定
Kiyoshi Mizuno
kiyoshi_mizuno @ mail.toyota.co.jp
2006年 7月 27日 (木) 14:29:08 JST
水野です。
> -----Original Message-----
> 初めまして。後藤と申します。
(中略)
> そこで、
> pg_XXXXXのようなシステムテーブルも参照できないようにするには、
> どうのように設定すれば宜しいでしょうか?
>
> 権限を剥奪すれば良いと考え、
>
> REVOKE SELECT ON pg_XXXXX FROM ユーザ名
「システムカタログへのアクセス権を削除して大丈夫なのか?」という不安がよぎりますが、
手段としてはREVOKEコマンドについて、7.4.6のマニュアルで
個々のユーザはすべて、ユーザに直接許可された権限、ユーザが現在属しているグループに
許可された権限、そして、PUBLIC に許可された権限を合わせた権限を持っていることに
注意して下さい。従って、例えば、PUBLIC から SELECT 権限を取り上げることは、必ずしも
そのオブジェクトに対する SELECT 権限をすべてのユーザが失うことを意味しません。直接、
あるいは、グループ経由で許可されたユーザは、その権限を持ち続けます。
と書いてあります。
ですのでご所望の事を実現するには特定のユーザ名だけでなく、そのユーザが属するグループ、
PUBLICすべてを対象にしてSELECT権限削除をしなければならないのではないでしょうか。
pgsql-jp メーリングリストの案内