python - CentOS/Bluehost : Attempt to Write a Readonly Database, 上的 Django 除 777 外还使用哪个 Chmod?

标签 python django sqlite

我试图在 bluehost 上托管的我的 django 项目中获得对我的 sqlite3.db 文件的写入权限,但是除了危险/有风险的 chmod 777 之外,我无法让任何其他 chmod 命令工作。当我 chmod 777 db 文件和目录,一切正常。

但是,为了更加谨慎,我尝试过 chmodding 775 sqlite 文件的目录和 chmod 664 实际的 db 文件本身。没有运气。每当我访问需要写入数据库的功能时,我仍然会收到 OperationalError: Attempt to Write to a Read Only Database。

感谢任何帮助。

最佳答案

访问数据库(www-data?)的用户需要对数据所在的文件夹以及文件本身具有写入权限。我可能会将文件夹的组所有权 (chgrp) 更改为 www-data,并向文件夹添加一个组粘性位 (chmod g+s dbfolder)。最后一个确保创建的任何新文件都属于组所有者。

如果您使用的是 bluehost,您还应该可以访问 MySql(对于面向网络的数据库来说,这是一个更好的选择)。

关于python - CentOS/Bluehost : Attempt to Write a Readonly Database, 上的 Django 除 777 外还使用哪个 Chmod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27594703/

相关文章:

python - 在 Python 的子进程中生成一个线程

django - 遇到未知标签 'with'

c# - SQLite 异常 : file is encrypted or is not a database

c# - sqlite 如何使用另一个选择的结果进行选择?

python - 我可以在 Windows 中通过 ctrl-D 而不是 ctrl-Z 退出 Python 2.5 吗?

python - 随机选择 DataFrame 中列应切换值的行

python - 如何防止 PYTHON-DJANGO 中的 SQL 注入(inject)?

android - Android 上的 SQLite : Different result set at Runtime vs. SQLite 管理员

python - 如何在 paramiko 中写入标准输入(从 exec_command 返回)?

python - 多个子域的 Django 多 session cookie 域