注意关于通过“$sudo passwd postgres”更改“postgres”的UNIX密码的答案不是首选,甚至可能是危险的!
原文链接:https://www.f2er.com/postgresql/192559.html这就是原因:默认情况下,UNIX帐户“postgres”被锁定,这意味着它无法使用密码登录.如果您使用“sudo passwd postgres”,帐户将立即解锁.更糟糕的是,如果你将密码设置为弱点,比如“postgres”,那么你就会面临很大的安全隐患.例如,有很多机器人尝试使用用户名/密码组合“postgres / postgres”登录到您的UNIX系统.
你应该做的是遵循克里斯詹姆斯的回答:
sudo -u postgres psql postgres # \password postgres Enter new password:
稍微解释一下.登录Postgresql服务器通常有两种默认方式:
>通过以UNIX用户身份运行“psql”命令(所谓的IDENT / PEER身份验证),例如:sudo -u postgres psql.请注意,sudo -u不会解锁UNIX用户.
>通过使用Postgresql自己的托管用户名/密码(所谓的TCP身份验证)的TCP / IP连接(即,不是UNIX密码).
所以你永远不想为UNIX帐户“postgres”设置密码.默认情况下保持锁定状态.
当然,如果您将其配置为与默认设置不同,则可能会发生变化.例如,可以将Postgresql密码与UNIX密码同步,并且只允许本地登录.这超出了这个问题的范围.