[PHP-users 4347] スクリプトが丸見え?

Osamu Shigematsu php-users@php.gr.jp
Wed, 19 Dec 2001 09:33:00 +0900


こんにちは。重松です。

ふと気づいたんですが、現在 /home/<user>/public_html に各人のページを置くよう
になっていますが、設定が甘いので他人の public_html の中身が丸見えです。

OS は VineLinux 2.1.5 ftp を使っているのですが、よく考えると、httpd は
nobody で動いているので、例えば、user shige, group shige の場合、/home/shige
は最初 700 なので、そのままでは内部にアクセスできないため、
chmod +x /home/shige として、その中に public_html を作っています。
普通に mkdir すると、775 になるようになりますし、これ自身は nobody から
見えないとならないため、このままでは、他のユーザからも丸見えということに
なります。

普通の HTML ならまあいいか (どうせ知り合いしかいないから) と思うのですが、
PHP の場合は、中には、スクリプトの中にパスワードを書いてあるものがあったり
するので、丸見えは困ります。

そこで、質問なのですが、どのようにすれば、丸見えを防止できるのでしょうか?

私が考えた解決方法としては、group に www を追加し、web page を公開する
ユーザのホームディレクトリのグループを www にして、アクセス権を 710 に
するとともに、group に nobody を追加、これで、丸見えを防げるのではないか、
と推測しているのですが、もっとよい方法があるのではないかと思いました。

これ以外の問題点としては、ホームディレクトリ以外、例えば、/var/log 以下
なども見えてしまいます。

このほかに、第三者にアカウントを貸与する際に気をつけるべきことがありましたら、
ご教授下さい。一応 su で root になれるユーザは、group wheel に属するユーザに
制限しています。

環境:
    富士通 FMV BIBLO NU233 (ノート PC), Memory 192MB, HDD 4GB
    VineLinux 2.1.5 ftp
    Apache 1.3.22, PostgreSQL 7.1.3, PHP 4.1.0

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp