[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 メーリングリストの案内