【发布时间】:2013-04-09 07:23:57
【问题描述】:
我正在用 Python(在 Linux 系统上的 Apache 服务器上)编写一个需要连接到 Postgres 数据库的 Web 应用程序。因此,它需要数据库服务器的有效密码。在我的 Python 文件中硬编码密码似乎不太令人满意。
我确实想知道使用 .pgpass 文件,但它需要属于 www-data 用户,对吗?默认情况下,没有 /home/www-data 目录,这是我希望存储 .pgpass 文件的地方。我可以创建这样一个目录并将 .pgpass 文件存储在那里吗?如果不是,那么让我的 Python 脚本连接到数据库的“正确”方法是什么?
【问题讨论】:
-
主目录并不总是
/home/username-- 运行gawk -F: '($1 ~/www-data/) {print $6}' /etc/passwd找出它在哪里。 -
谢谢!结果发现主目录是 /var/www,这是有道理的,但由于这是服务器向世界开放文件的地方,我猜这可能不是存储 .pgpass 文件的好地方,对吧?
-
Django 将数据库密码存储在 python 配置文件中,我不明白为什么它会让人不满意。好吧,虽然它并不是真正的硬编码。
-
你的意思是这样的吗? docs.python.org/3/library/configparser.html
标签: python apache postgresql mod-wsgi