我不想将密码存储在未加密的文件中

我不想将密码存储在未加密的文件中

我在开发机器上使用 Ubuntu 12.04 LTS,刚刚意识到 psql 将密码存储在“~/.pgpass”中。此外,此文件未加密。因此,任何拥有超级用户权限(即属于 sudo 组)的人都可以访问此文件并读取存储的密码。这可能是最糟糕的情况。

相反,我很奇怪为什么 psql 没有要求输入密码(只是在 postgresql 服务器上修改了 pg_hba.conf),我开始怀疑我的管理技能。

文档只是告诉我们如何创建文件以及它应该是什么样子。我想尽快禁用此文件。但是怎么做呢?

没有解决方案

问题是管理员当我想存储密码时会创建此文件。这是一个 GUI,要使用 GUI,我已经登录,而且大多数情况下,窗口管理器都有类似密钥环的东西,在我登录时会解密。如果 pgadmin 可以使用它,那就太好了,但正如答案中讨论的那样:这是 pgadmin 的一个功能请求。

答案1

删除它。.pgpass只是一个文件。如果您不想存储密码,请在命令行中输入密码。psql永远不会创建或修改.pgpass,因此您必须自己设置它。

加密存储毫无意义.pgpass;你需要密码来解密,而且整个观点用于.pgpass自动密码登录。

解决方案是不要使用.pgpass文件如果你真的不需要无密码登录,也不愿意接受它带来的安全隐患。由于听起来你的.pgpass是由 PgAdmin-III 创建的,告诉它不要保存密码,它就不会创建.pgpass。当你第一次告诉它保存密码时,它会给你一个大警告,告诉你它将以明文形式存储密码,原因就在于此。

如果您需要强大且安全的无密码登录,请使用 Kerberos / GSSAPI。

也就是说,无论您做什么,任何拥有超级用户权限的人都可以获取您的密码。他们可以使用键盘记录器捕获您的输入。他们可以修改 libpq 以在输入密码时将其保存到文件中。有很多选择。如果您不信任计算机上的超级用户,请另找其他地方工作,因为您已经失败了。

相关内容