2012-01-05 10 views
1

私のラボクラスの学生用のアップロードスクリプトで、自分のホームディレクトリ内のフォルダに割り当てをアップロードしています。問題は、スクリプトがユーザーのapacheで実行され、スクリプトによって作成されたすべてのディレクトリとファイルが、そのユーザーが所有することになります。さらに、私がファイルを作成するために必要なフォルダのアクセス権は、Apacheがディレクトリを作成してファイルをそこに移動できるように(広くはApacheの所有権を持つ)広く開いておく必要があります。アップロードされたファイルを適切な所有権とアクセス許可を持つホームディレクトリに取得する

私は、他の問題の中で、ファイルが実際にアップロードされていないときに学生が確認を受け取ることができる約5つの異なる使用例がある部門が提供する古いスクリプトを置き換えようとしています。このスクリプトでは、PHPが持っている問題もなく、chownを使っているようです。おそらく、Pythonインタプリタは、PHPのように異なるアクセス設定で動作します。

これを処理するにはどのような方法がありますか?

+0

サーバー設定では、Apacheのアクセス権を一定のレベルに変更したり、所有権を変更したりすることはできません。独自のサーバー構成などでこれらを更新することができます。 –

答えて

0

これに対処するにはいくつかの方法がありますが、私が想像することのできる最も良質なのは、割り当てをアップロードする目的でホームディレクトリのサブディレクトリを専用にすることです。

権限を賢明に実行するだけでは、Apacheグループの所有者が属するグループによってディレクトリグループの所有権が与えられます。ウェブサーバのユーザがのapacheであり、更にグループのapacheであると仮定すると、ユーザはのメンバーです。また、あなたとApacheがその目的のために共通のグループを作成することもできます。

今の場所に新しく作成されたファイルは、によって所有されます。このようにすると、自分

mkdir ~/homework-submissions 
chgrp apache ~/homework-submissions 
chmod g+a ~/homework-submissions 

としてあなたがアップロードされたファイルを配置するディレクトリが

〜/宿題-提出であるとしましょうapache:apacheですが、Webサーバーはこの時点で所有権を変更する必要はありません。

関連する問題