我接管了一个使用postgres的系统。当我登录时,如果我用..。
sudo -u postgres psql postgres...it不要求密码。但是如果我这么做了..。
psql -U postgres -h localhost postgres..。它要求输入密码。
为什么?这种差异是如何配置的?是否可以将其配置为不同的用户以这种方式登录?
(注意:用户postgres不在sudoers文件中,也不在sudo组中。
发布于 2018-02-16 18:11:17
Postgres有一种名为peer的身份验证。如果你看一下pg_hba.conf,你可能会看到
local all postgres peer或者像这样
local all all peer您没有被要求输入密码这一事实与使用sudo无关,与连接到与用户名和对等身份验证匹配的DB有关的一切都是在pg_hba.conf中启用的。
如果这是一台测试机器,并且不需要安全性,您可以使用信任而不是对等程序,然后就不需要密码了。不能强调不够,信任只是开发和测试机器的一个好选择。一个人永远不应该在生产机器上使用信任。
https://dba.stackexchange.com/questions/198125
复制相似问题