[pgsql-jp: 35913] Re: 「www-data」へのテーブルアクセス権限付与

J.SHIRA jshira @ rio.odn.ne.jp
2005年 8月 29日 (月) 10:16:25 JST


白澤です。

以下、"Yuki SHIMAZU" <y.shimazu @ nifty.com>さんの
<1501.192.168.0.4.1125274540.squirrel @ www.shimazu.org> より一部引用:

y.shimazu> 関連質問ですが、おそらく相当な初歩的内容と思われ
y.shimazu> ますが、データベースユーザは必ずシステムユーザの
y.shimazu> 中に存在しなければならない、という理解でよろしかっ
y.shimazu> たでしょうか。

いえ、システムユーザ(アカウント)とデータベースユーザは基本的
にまったく無関係です。PostgreSQL で特別なシステムユーザは、
データベース管理者としての "pgsql" (となる事が多い)ユーザだ
けです。PostgreSQL のプロセスがこのユーザの権限で動作します。

バージョン8.0.3のドキュメントを例にとると、

http://www.postgresql.jp/document/pg803doc/html/user-manag.html

に以下のような記述があります。

「データベースユーザは概念的に、オペレーティングシステムユー
ザとは完全に分離されています。実際にはユーザ名を一致させてお
くと便利ですが、必須ではありません。データベースユーザ名はデー
タベースクラスタインストレーション全体で共通です(個別のデー
タベース毎ではありません)」

また、

http://www.postgresql.jp/document/pg803doc/html/runtime.html

には以下のような記述があります。

「外部へアクセスできる他のサーバデーモンと同じように、
PostgreSQLを独立したユーザアカウントで実行することをお勧めし
ます。 このユーザアカウントは、サーバによって管理されるデー
タのみを所有するようにすべきです。また、他のデーモンとアカウ
ントを共有すべきではありません。 (例えば、"nobody"ユーザの使
用はお勧めできません。) このユーザによって所有される実行可能
プログラムをインストールすることも好ましくありません。システ
ムが攻撃を受けた場合などに、自分自身のバイナリを変更されてし
まう可能性があるからです。」

さらに、

「システムにUnixのユーザアカウントを追加するためには、
useradd コマンドかadduserコマンドを使用してください。 
postgres というユーザ名がよく使われ、本書全体でも使用してい
ますが、好みの名前を使用しても構いません。」

という事です。参考になりましたら幸いです。

-- Best regards,
     SHIRASAWA, Jun.
 <jshira @ rio.odn.ne.jp>



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