[pgsql-jp: 27593] Re: pg_ctl と OS 起動時のpassword 要求について

HIROSHI OOTA oota @ LSi.nec.co.jp
2002年 10月 9日 (水) 17:00:54 JST


太田です。
;; 1つのマシンにApacheとPostgreSQLが同居してます。
;; Apacheでは、PHPを動かしていますが、スクリプトを書く人は複数で、DBやコン
;; テンツも複数あるとします。お互いになるべくセパレートしたいと思っています。
なるべくというのが不明確ですが、例えば社内ユーザ間で共有していて誤った操作
を防止するためというならばQ1の方法でもいいかと思います。
悪意のユーザの存在が否定できないならば、apacheのバーチャルホストでホスト
毎に異なるユーザにする以外の方法は僕は信用しません。 :-)


;; Q1.
;; ---
;; FreeBSDの場合、Portsでインストールすると、Apacheはwww:wwwで動作しますが、
;; pg_hba.confを
;; 
;;     local      all                                           ident   sameuse
;;     host       all         127.0.0.1     255.255.255.255     crypt
;; 
;; と設定し、wwwというPostgreSQLユーザーを作らない用にすれば、PHPスクリプト
;; からDBにアクセスするのは、localhost指定で、ユーザー名・パスワードを指定
;; しないとアクセスできないということでしょうか
;; (UNIXドメイン経由だと、PHPスクリプトはWebサーバーのuidでPostgreSQLに接続
;; することが強制されるのですよね)。
その通りです。
他の方法としては、送られてきたユーザ方法をファイルを参照してPostgreSQLユーザに
マップするという事も出来るはずなので、wwwをマップしてやらないという方法でもお望み
の動作が実現できると思います。(やったことはありません)
設定方法はpg_hba.confに記述されています。

;; Q2.
;; ---
;; これは、UNIXドメインだけでidentを使うのならば、特にauth(ident)サービスを
;; /etc/inetd.conf等で上げなくても良いという理解でよろしいでしょうか?
石井さんへの返信で書きましたが、不要です。
--

				HIROSHI OOTA
				oota @ LSi.nec.co.jp



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