【发布时间】:2020-10-12 19:05:45
【问题描述】:
我有一个部署在数字海洋上的 django 应用程序。
当我尝试使用写入数据库的函数时,出现权限错误。
在 digitalocean 网站上,我找到了以下解决方案;chown django:django db.sqlite3
我服务器上的用户名不是 django,所以我用我的用户名运行了命令。
没有改变。 我能做什么?
编辑:
运行 chown www-data:www-data db.sqlite3 因为我认为 www-data 是运行服务器的用户,但仍然没有任何变化。
【问题讨论】:
-
服务器运行的用户是什么。这通常是 not 用户名。作为一项安全措施,它使用具有特定权限的单独用户,该用户应该是文件的所有者。
-
我启动服务器的用户是root用户,但我认为他无论如何都有权限
-
是的,但通常 root 用户将永远是运行 Django 服务器的用户(root 用户通常会捕获端口,并在 much 下运行 Django 服务器更多受限用户)。如果它是 root 用户,那么一个小的安全漏洞可能意味着有人可以完全接管服务器。
-
nginx:工作进程由 www-data 运行,但授予此用户权限无济于事
-
我必须重新启动任何东西吗?尝试重新启动 gunicorn 和 nginx 但没有任何改变
标签: python django sqlite nginx digital-ocean