为什么Postgres没有要求用户postgres的密码?

时间:2016-09-13 04:25:41

标签: postgresql

从我在pg_hba.conf中读到的内容,我推断,为了确保我提示为postgres用户输入密码,我应该编辑pg_hba.conf的前两个条目'来自当前同行的方法密码'密码'或者' md5',但如果错误的话,我不想破坏它。我是在正确的轨道上吗?或者遗漏了一些明显的东西?

无论如何,更多细节 -

在debian上安装postgres 9.4之后,我改变了postgres用户的密码 -

postgres=# \password postgres

...并输入两次新密码。

然后我退出postgres(Ctrl + D),然后从bash重新启动服务器 -

sudo service postgresql restart

当我重新登录postgres(sudo -u postgres psql)时,我没有提示输入新密码。我得到 -

psql (9.4.9)
Type "help" for help

postgres=#

此外,.pgpass文件位于我的主目录中,但它是空的。最后,前两行pg_hba.conf是

local   all        postgres      [blank]   peer
local   all        all           [blank]   peer

1 个答案:

答案 0 :(得分:3)

设置密码仅提供需要它的身份验证方法的密码。它没有添加为登录指定密码的要求。

是否需要密码由pg_hba.conf控制。 peer身份验证模式不需要密码,如果用户的unix用户名与他们尝试连接的postgres用户名相同,则允许用户登录。

如果您想要密码验证,请尝试md5身份验证。