0

CentOSシステム(python 2.4を実行)にDjango 1.4プロジェクトをインストールする必要があったので、/ opt /python2.7/でpython2.7をビルドしました。

プロジェクトをアップロードし、権限を変更しました(chown -r apache:apache ./) 。リストのアップロードを除いて、すべてが正常に機能しているようです。アップロード自体はうまくいき、(サブ)フォルダーとファイルは正しく作成されます(例/media/cache/thumbnail.jpg)

ただし、ファイルを一覧表示しようとすると(admin / change_form.html標準のdjangoテンプレートを表示)、次のエラーが発生します。

(site-packages/PIL/Image.py in init)

for file in os.listdir(directory): 
    ...

13, permission denied

これは、Pythonをrootとしてインストールし、project / wsgiがapacheユーザーによって実行されているために発生しますか?これを修正するクリーンな方法はありますか?/ media /フォルダーへのアクセス許可を変更しても効果がないように思われるので、これはサイトパッケージのアクセス許可が原因であると思いますか?

4

1 に答える 1

3

これは基本的な権限の問題です。ディレクトリの内容を一覧表示するには、ユーザーは親ディレクトリに対する実行権限が必要です。

それに応じて権限を修正すれば、問題は発生しないはずです。

chownで所有者を変更しても、権限は変更されず、所有者とグループのみが変更されることに注意してください。権限は、システムのデフォルトが何であれ、によって制御されumaskます。

于 2012-04-10T11:11:03.570 に答える