manage.py
スクリプトを使用してコマンドを実行し、Djangoは私の許可拒否エラー与える:のPython/Djangoのログ権限エラーが
[email protected]:/opt/proj$ python3 manage.py migrate
Traceback (most recent call last):
File "/usr/lib/python3.5/logging/config.py", line 558, in configure
handler = self.configure_handler(handlers[name])
File "/usr/lib/python3.5/logging/config.py", line 731, in configure_handler
result = factory(**kwargs)
File "/usr/lib/python3.5/logging/__init__.py", line 1008, in __init__
StreamHandler.__init__(self, self._open())
File "/usr/lib/python3.5/logging/__init__.py", line 1037, in _open
return open(self.baseFilename, self.mode, encoding=self.encoding)
PermissionError: [Errno 13] Permission denied: '/var/log/django/debug.log'
をしかし、私は(私の知る限り)正しいグループにいる、とシェルを使用してログファイルに触れることができます:
[email protected]:/var/log/django$ ls -la
total 20
drwxrwxr-x 2 nobody www-data 4096 Jul 20 13:06 .
drwxrwxr-x 12 root syslog 4096 Jul 20 12:37 ..
-rwxrwxr-x 1 nobody www-data 11283 Jul 20 13:07 debug.log
[email protected]:/var/log/django$ groups
vagrant adm cdrom sudo dip www-data plugdev lxd lpadmin sambashare
[email protected]:/var/log/django$ touch debug.log
[email protected]:/var/log/django$
問題がここにあるのは誰でも分かりますか?私は迷惑メールの「弁当」ubuntu 16.04イメージを使用しています。
編集:ログファイルでアクセス権を777に設定すると、正常に動作します。しかし、私はむしろ775(またはそれ以下)としてそれらを保つだろう。
あなたの提案に感謝します。私はimg情報を追加しました。これは、ubuntu 16.04です。私はSELinuxを持っていませんが、私は 'sudo invoke-rc.d apparmor kill'を使ってAppArmorを無効にしましたが、それでも同じ問題があります。 – jeremy
これはプライマリまたはセカンダリグループのアクセス許可の問題だと思います。それを反映するように答えを修正するでしょう。 –