我正在用Python编写一个web应用程序(在Linux系统上的Apache服务器上),它需要连接到Postgres数据库。因此,它需要数据库服务器的有效密码。在Python文件中硬编码密码似乎不太令人满意。在
我确实想知道使用.pgpass文件,但它必须属于www数据用户,对吗?默认情况下,没有/home/www数据目录,我希望在该目录中存储.pgpass文件。我可以创建这样一个目录并将.pgpass文件存储在那里吗?如果没有,那么让Python脚本连接到数据库的“正确”方法是什么?在
Tags:
无论您使用什么方法,以
www-data
身份运行的其他应用程序都可以读取您的密码并在您登录数据库时登录。使用peer
身份验证不会帮助你,它仍然信任在www-data
下运行的所有应用程序。在如果希望应用程序能够将其数据与其他数据库隔离开来,则需要将其作为单独的用户ID运行。主要方法有:
其中,到目前为止,最好的选择通常是使用scgi/fcgi。它允许您以不同的unix用户身份轻松运行应用程序,但避免了反向代理的复杂性和开销。在
将应用程序及其配置文件安装在不同于静态文件目录的自己的目录中,并且只能由应用程序用户读取。在
设置另一个用户来运行应用程序并使用WSGIDaemonProcess指令。在
所有这些以及更多内容都在mod_wsgi site,在Quick Configuration Guide,Configuration Guidelines和{a5}中都有清楚的描述
相关问题 更多 >
编程相关推荐