[pgsql-jp: 27108] Re: ユーザーの作成・削除について・・・

Masashi Ohba ohba @ intelight.co.jp
2002年 8月 22日 (木) 13:11:00 JST


大場です。

冨永 圭祐 wrote;

>postgresというユーザーを作成してインストールすることは呼んだのですが
>あとあと、apache・phpをからめた開発になっていくとの
>判断から、webというユーザーで統一しようかと思っての判断です。

postgresというユーザーでwebというユーザーを追加して
そのwebというユーザーでデータベースやテーブルを作ったら
済むだけの話なんですが…

やってることは、一般ユーザーの日常の操作を
Linuxにrootでログインしてやってるに等しいと思うんですけど…
スーパーユーザじゃ無い人間ができる操作を
スーパーユーザでやってることがどれだけ危ないことか分かりますか?

webというユーザが一般ユーザならば、最低でも、
webというユーザが読み書き可能な範囲しか操作できませんが
webってユーザがPostgreSQLのスーパーユーザであるってことは
Apache+PHPがwebというユーザー権限で動いているならば
全データベースを好き勝手にできるわけです。
PHPのスクリプトで不用意に任意のSQLを発行できるような穴を
作ったとしたら、データベースを破壊することも可能です。

PHP使ってなくても、CGIプログラムで万が一任意のコマンドを
発行できたら、データベースのあるディレクトリを丸ごと消去も可能。


ローカルで操作してても、何かの弾みで間違えてwebというユーザーが
「rm -r /usr/local/pgsql」なんて指を滑らせたらどーしますか?
postgresという、滅多にならないユーザーで操作してない限り
ザックリ削除の危機はまのがれますけど、webというユーザが
常時作業してた場合、それができるってのは非常に危険ですよ?

私は以前、自宅で深夜にroot権限が必要な操作をしていて
別のディレクトリですべき「rm -r [a-z]*」を/usrでしました。
エンターした瞬間に気付きましたが後の祭。
金土で復旧してロクに寝てなかったのですが、頭が腐った状態で、
もう1台の別のマシンでまったく同じことをやらかしました…。
人間、無意識に何やらかすかわかったもんじゃありません。

直せるうちにPostgreSQLの再インストールした方が良くないですか?

------------------------------------------------------------
大場正志(Masashi Ohba)
E-Mail  ohba @ intelight.co.jp
(株) インテライト
http://www.intelight.co.jp
------------------------------------------------------------



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