2016-07-18 6 views
0

私のDjangoのアプリはログファイルを作成する方法を制御するための権限:log.txtというApacheがファイル作成:Apacheの経由

このファイルの所有者とグループは、「WWWデータ」である

owner rwx 
group r 
all r 

を私のpythonのアプリをこのログファイルに対する読み取り/書き込みのアクセス許可はありません。しかし、私はこの許可を持っているPythonアプリが必要です。

これで、手動で権限を簡単に変更できますが、ファイルを作成するときに適切な権限を持つ必要があります。どうやってやるの?

​​
+0

あなたはwww-data権限を持つユーザーでpython-appを起動することができるので、www-dataが所有するファイルで作業することができます。 ex、 'sudo -Hu www-data/path/to/your/app' – frist

+0

あなたのコメントから、Pythonユーザーはいないと私は理解しています。 Pythonスクリプトを呼び出すのは常にユーザーです。 – caliph

+0

は、/ etc/apache2/envvarsのumask 002を使用して解決しました。 – caliph

答えて

0

あなたが実行可能ファイルを作成した後、指定したファイルのアクセス権を制御するためにos.chmod()を使用することがあります。

os.chmod("/path/to/file", 0o775) 

経路と第2引数である第1の引数は許可するためのフラグであります付与するには、statモジュールからフラグにアクセスすることもできます。

+0

残念ながら、私はPythonロガーモジュールのソースコードを変更した場合にのみこれを行うことができます。新しいロギングファイルがいつ作成されるかは、アプリケーションが知ることができないため(ファイルのバージョンを変える)。 – caliph

関連する問題