[pgsql-jp: 25355] pg_ctl status

Naofumi Kondoh nkon @ shonan.ne.jp
2002年 3月 20日 (水) 02:13:49 JST


ソフト工房の近藤です。

$PGDATA/postmaster.pid  の読取り permission のない
ユーザーが、 pg_ctl  status  を実行すると、
postmaster が走っているにもかかわらず、

pg_ctl: postmaster or postgres is not running

と表示されてしまい、誤解を招きそうです。

# まあ、pgsql -l  などとすれば表示されるから、
# わかるといえばわかるんだけど親切ではないです。


対策は、pg_ctl の中で、[ ! -r ファイル名 ] を追加して
読取り権限がなければ、その旨表示して   exit  するよ
うに変更すれば解決です。

pg_ctl  status だけでも、postgres GROUP 所属のユーザー
が使えるようにするなら、

chmod 750  $PGDATA
chmod 640  $PGDATA/postmaster.pid

にすれば、pg_ctl status のみ実行できます。

この程度ならセキュリティー上の問題はないと思うけど
どうでしょう。もしあるなら、postmaster.pid を表示
するコマンドを作って setuid すればいいでしょう。
ps ax | grep postmaster だとちょっとアバウトかな。

pg_ctl status 以外、即ち、start/stop/restart  等は、
root と postgres 以外は、`whoami` で判定してエラー
表示するというのがお手軽かもしれません。

環境: PostgreSQL 7.2     Turbo Linux WS 6.0

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon @ shonan.ne.jp 
  《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
           http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/



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