Django应用程序可以使用其linux用户对MySQL进行身份验证吗?

时间:2013-08-28 18:39:37

标签: python mysql django

我工作的公司正在开始开发一个将使用MySQL作为数据库引擎的Django业务应用程序。我正在寻找一种方法来防止数据库凭证存储在纯文本配置文件中。

我来自Windows / IIS背景,其中vhost可以模拟现有的Windows / AD用户,然后使用这些凭据对MS SQL Server进行身份验证。

作为示例:如果Django应用程序在Ubuntu服务器上运行apache2 + mod_python,那么将“www-data”用户添加到MySQL然后让MySQL使用其PAM模块验证凭据是否明智? / p>

希望其中一些是有道理的。提前谢谢!

1 个答案:

答案 0 :(得分:1)

MySQL控制从自己的用户列表访问表,因此最好创建具有​​权限的MySQL用户。您可能希望创建角色而不是用户,因此您无需管理多个角色:管理员,读/写角色,只读角色等。

Django应用程序始终作为Web服务器用户运行。您可以将其更改为“模仿”Ubuntu用户,但如果该用户被删除该怎么办?将其保留为“www-data”并以这种方式管理数据库角色。