我有一组Python程序,这些程序使用psycopg2访问Redmine(PostgreSQL)数据库,生成日常管理报告,并注意需要注意的特殊情况。在开发中,我只是在“ connect()”调用中传递了只读用户的用户名和密码;但是我不希望数据库凭证以纯文本形式存在于Python脚本中。在不公开数据库登录凭据的情况下,推荐的连接数据库的方法是什么?
这些脚本每周在生产服务器上本地(cron)运行一次;没有信息通过网络传递。
现在,我从Linux环境变量中读取了用户名和密码,但这仍然意味着它们位于文件的某个位置,并具有可读形式的信息。
cnx = psycopg2.connect(user=ccbuser, password=ccbpasswd, database="ccbdb", host="localhost")