我有一组Django日志文件,我有适当的记录器设置来写出消息。但是每次创建新的日志文件时,文件的权限都不允许我启动shell,有时会导致apache出现问题。
我在目录上运行了chmod -Rv 777,它设置了所有权限,所以我们可以做我们喜欢的事情,但是创建的下一个日志文件会回到默认状态。
如何设置要创建的日志文件的权限
马克
答案 0 :(得分:3)
特定用户创建的文件权限取决于为此特定用户设置的掩码。
现在,您需要为运行apache服务的人设置适当的权限
ps -aux | grep apache | awk '{ print $1 }'
然后为这个运行apache的特定用户(www-data?)
sudo chown -R your_user:user_running_apache directory
其中目录是django应用程序的根目录。 确保将来添加到此目录的所有文件都有 运行正确的权限:
sudo chmod -R g+s directory
答案 1 :(得分:1)
我遇到了同样的问题 - 由于旋转日志文件权限,我遇到了启动shell和芹菜的问题。我通过uwsgi(由www-data用户运行)运行我的django项目 - 所以我通过为它设置umask来处理它(http://uwsgi-docs.readthedocs.org/en/latest/Options.html#umask)。
我也使用buildout,所以我的修复程序如下所示:
[uwsgi]
recipe = buildout.recipe.uwsgi
xml-socket = /tmp/uwsgi.sock
xml-master = True
xml-chmod-socket = 664
xml-umask = 0002
xml-workers = 3
xml-env = ...
xml-wsgi-file = ...
此日志文件权限变为664之后,www-data组的组成员也可以写入其中。