日志 - 777权限的文件被拒绝访问

分享于 

2分钟阅读

ubuntu

  繁體

问题:

我有一个Django应用程序,db查询写入/tmp/db.log文件。


 "debug_console_to_file": {


 "level": "DEBUG",


 "filters": ["require_debug_true"],


 "class": "logging.FileHandler",


 "filename": "/tmp/db.log",


 },



有时我通过(使用python manage.py )手动运行它。

问题是,当我试图启动它时,由于/tmp/db.log文件已经由www-data用户创建,我得到一个权限拒绝错误(删除文件可以临时修复问题,但服务器将收到相同的错误,因为现在有用户拥有该文件)。


 PermissionError: [Errno 13] Permission denied: '/tmp/db.log'



我试图将用户添加到www-data


$ members www-data


www-data tvelichkov



我还试图给777文件权限。


$ ls -l /tmp/db.log 


-rwxrwsrwx 1 www-data www-data 22102 юли 30 15:25 /tmp/db.log



仍然得到Permission denied错误。


$ ls -l / | grep tmp


drwxrwxrwx 24 root root 4096 авг 3 10:19 tmp




答案1:

看来您已将特定的用户ID设置为文件的组所有权。你需要关闭用户id,并在文件所有权中设置组id。


sudo chmod g-s www-data /tmp/db.log




答案2:

在这种情况下,最好以www-data用户身份执行脚本。


sudo -u www-data python manage.py





相关文章