2013-08-31 35 views
12

私はubuntu 13.04を使用しています。私はそれをどのように修正すればよいログファイルの書き込み時に拒否されました

ValueError: Unable to configure handler 'file': [Errno 13] Permission denied: '/home/shwetanka/logs/mysite/mysite.log' 

- 私は/home/shwetanka/logs/mysite/mysite.log

としてジャンゴにログファイルを設定した。しかし、私はこのエラーを取得していsudo service uwsgi start

使用uwsgi実行していますよ?これは私がsudoとしてuwsgiを実行したときに起こるべきではありません。

答えて

21

コマンドで許可を修正する必要があります(chmod 775 /home/shwetanka/logs/mysite/mysite.log)。

ls -l /home/shwetanka/logs/mysite/mysite.logでファイルの所有者を見て、uwsgiに書き込み可能にしてください。ファイルがuwsgiでない場合は、chownコマンドを使用する必要があります。

サービスが稼働しているユーザ名をps aux | grep 'uwsgi'で調べてください。

現時点でセキュリティがそれほど重要でない場合は、chmod 777 /home/shwetanka/logs/mysite/mysite.logを使用してください。しかし、それはどのようにこれが行われているかではありません。

これを行う最も安全な方法は、ファイルの所有者とグループを確認し、必要に応じて変更し、それに応じて権限を調整することです。

例を挙げておきます。

私は/home/shwetanka/logs/mysite/mysite.logでファイルを持っており、コマンドls -l /home/shwetanka/logs/mysite/mysite.logは、次の出力を与える場合:

-rw-rw-r-- 1 shwetanka shwetanka 1089 Aug 26 18:15 /home/shwetanka/logs/mysite/mysite.log 

それはファイルの所有者がshwetankaで、グループでもshwetankaであることを意味しています。さて、rwxビットを読んでみましょう。最初のグループはファイル所有者に関連しているため、rw-は、そのファイルが所有者によって読み書き可能であり、グループによって読み取り可能および書き込み可能であり、他のグループによって読み取り可能であることを意味します。ファイルの所有者が何かを書き込もうとしているサービスか、ファイルがサービスのグループに属しているか、またはpermission deniedエラーが発生することを確認する必要があります。

chown uwsgi /home/shwetanka/logs/mysite/mysite.log:私はUSWGIサービスによって使用されるユーザー名uwsgiを持っており、上記のファイルは、そのサービスによって書き込み可能にしたい場合は

は今、私はこのように、ファイルの所有者を変更する必要があります。所有者(最初のrwxグループ)の書き込みビットはすでに1に設定されているため、そのファイルはUWSGIサービスによって書き込み可能になります。さらに質問があれば、コメントを残してください。

+1

ありがとうございました。実際、uwsgiプロセスは 'www-data'ユーザの下で実行されていました。私はchownでユーザーを変更し、それは働いた。とにかくログファイルの場所をvarに移動し、chmod 775とchown www-data:www-dataを与えて作業しています。再度、感謝します。 – Shwetanka

+0

ようこそ。私は最善を尽くしたし、うまくいってうれしい。 ;-) – Luka

0

また、uwsgi(http://uwsgi-docs.readthedocs.org/en/latest/Options.html#umask)にumaskオプションを設定することもできます。

私は同じ状況を抱えていましたが、私はwww-data経由でuwsgiを実行していました。だから、私の場合はこの修正プログラムは、このように見えた:

[uwsgi] 
recipe = buildout.recipe.uwsgi 
xml-socket = /tmp/uwsgi.sock 
xml-master = True 
xml-chmod-socket = 666 
xml-umask = 0002 
xml-workers = 3 
xml-env = ... 
xml-wsgi-file = ... 

WWW-データグループのグループメンバーもそれに書き込むことができますので、このログファイルのパーミッションが、664になった後。

関連する問題