- PR -

public_htmlのパーミッションについて

1
投稿者投稿内容
おやじ
会議室デビュー日: 2002/12/22
投稿数: 14
お住まい・勤務地: 長野県飯山市
投稿日時: 2003-02-27 07:23
htmlとPHPでサイト作ろうとしています。/home/user/public_html/がユーザーの
公開ディレクトリとなるわけですが、public_htmlの直下にTOPページとしてアク
セスカウンタも表示するindex.phpを設置いたしました。ところが日付が変わると
PHPが自動的に新しいカウンター用のdatファイル作る仕掛けですが、public_html
のパーミッションを777にしないとdatファイルを自動作成できません。
ユーザー最上階のディレクトリを777にすることは、セキュリティー上非常に危険
なことだと思うのですが、如何なものでしょうか?
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-02-27 11:59
こんにちは、ふじいです。

引用:

おやじさんの書き込み (2003-02-27 07:23) より:
htmlとPHPでサイト作ろうとしています。/home/user/public_html/がユーザーの
公開ディレクトリとなるわけですが、public_htmlの直下にTOPページとしてアク
セスカウンタも表示するindex.phpを設置いたしました。ところが日付が変わると
PHPが自動的に新しいカウンター用のdatファイル作る仕掛けですが、public_html
のパーミッションを777にしないとdatファイルを自動作成できません。
ユーザー最上階のディレクトリを777にすることは、セキュリティー上非常に危険
なことだと思うのですが、如何なものでしょうか?



そこまで書いてるんだったら、お分かりになると思いますが、
suEXECでapacheをユーザー権限で動かして、そのユーザーと同じグループに入れて、グループだけ書き込み可能にすればいいのでは?

さらにPHPの方で、そのdatファイルをユーザーのディレクトリじゃないところを指定して、そこはApacheのユーザーの書き込み権限を与えればいいでしょう。

[ メッセージ編集済み 編集者: ふじい 編集日時 2003-02-27 12:04 ]
しゅう
会議室デビュー日: 2003/01/16
投稿数: 5
投稿日時: 2003-02-27 12:10
単純にhttpdのユーザーディレクトリ機能を使用して実現している場合には、
そのユーザーのPHPが読み書きできるディレクトリやファイルは、
いずれにせよ、他のユーザーディレクトリのPHPからも読み書き出来ます。
上記の仮定が成り立てば、
全員のPHPからファイルを自動作成出来るようにするか、
全員のPHPからファイルを自動作成出来ないようにするか、を
選択する必要があります。
※でも、「作成」はともかくPHPからファイルを書き換えられる時点でセキュリティ云々は…
一番の対策は信用の置けないユーザーアカウントは作らない。
また、PHPでHTTP経由の不特定のユーザーが「好き勝手なファイルを書換&作成するスクリプト」は作らない。ですかね…。

問題を勘違いしていたらごめんなさい。
_________________
DipMeshSystems.
Shue Miula
http://xdip.com
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-02-27 13:37
こんにちは、ふじいです。

引用:

しゅうさんの書き込み (2003-02-27 12:10) より:
単純にhttpdのユーザーディレクトリ機能を使用して実現している場合には、
そのユーザーのPHPが読み書きできるディレクトリやファイルは、
いずれにせよ、他のユーザーディレクトリのPHPからも読み書き出来ます。
上記の仮定が成り立てば、
全員のPHPからファイルを自動作成出来るようにするか、
全員のPHPからファイルを自動作成出来ないようにするか、を
選択する必要があります。



権限は、そのPHPファイルを起動したapacheのユーザー権限になるから、全員の・・・というところがよくわからないです。

そのファイルの置き場所をユーザーのディレクトリではなく、apacheの入れるディレクトリにすればいい、ということを書いたのですが。書き方がまずかったですかね。省略しすぎたかも。すみません。

引用:

※でも、「作成」はともかくPHPからファイルを書き換えられる時点でセキュリティ云々は…
一番の対策は信用の置けないユーザーアカウントは作らない。
また、PHPでHTTP経由の不特定のユーザーが「好き勝手なファイルを書換&作成するスクリプト」は作らない。ですかね…。

問題を勘違いしていたらごめんなさい。



そうですか? だったらWebサービスはできないのでは?

データファイルをドキュメントルートから外す、データファイルの拡張子をcgiなどにして、わざとInternarl Server Errorを引き起こす、などいくらでもできると思いますよ。

それがいやならDBなどでバイナリデータでかつ、apacheですらよめないところでデータを管理すればいいですよね。
しゅう
会議室デビュー日: 2003/01/16
投稿数: 5
投稿日時: 2003-02-27 13:46
>> ふじい様

ちょっとタイミングがズレました ToT。
内容を書いたのがふじい様のポストの前で、
ポストしたのがその後でした。

全面的にふじい様のでnpです!
_________________
DipMeshSystems.
Shue Miula
http://xdip.com
ふじい
大ベテラン
会議室デビュー日: 2002/05/07
投稿数: 123
お住まい・勤務地: 東京
投稿日時: 2003-02-27 14:27
こんにちは、ふじいです。

こんにちは、ふじいです。

引用:

しゅうさんの書き込み (2003-02-27 13:46) より:

ちょっとタイミングがズレました ToT。
内容を書いたのがふじい様のポストの前で、
ポストしたのがその後でした。



いえ、僕が結構省略しすぎたんで、そうなのかな?と思いました。

どうもすみません。
おやじ
会議室デビュー日: 2002/12/22
投稿数: 14
お住まい・勤務地: 長野県飯山市
投稿日時: 2003-02-27 20:06
おやじです。ふじいさん、しゅうさん、ありがとうございます。
ん〜理解できない部分もありますが、

どこかにdat用のディレクトリを作り、所有はrootでグループはapacheにし、
phpのdat書き込み先をそのディレクトリにすると言う理解で間違ってませんか?
1

スキルアップ/キャリアアップ(JOB@IT)