我刚刚使用自制软件在我的mac(lion)上安装了postgresql,当我使用psql postgres
(或任何其他数据库)时,它会自动登录。
有趣的是,即使使用\password
命令在psql中更改密码一次,它仍然只是允许我进入而不提示我输入密码。
它还显示我的用户名(与我的mac os登录名相同的用户名)。
有没有办法让事情更加安全?
答案 0 :(得分:3)
Postgresql很可能配置为信任任何人。这是在文件pg_hba.conf中配置的,该文件位于postgresql的数据目录中。我不知道自制软件在哪里放置数据目录。但是,如果在终端中发出以下命令:
ps aux | grep postmaster
你会收到如下回复:
postgres 63 0,0 0,1 2472288 4888 ?? Ss 12:19pm 0:00.85 /Library/PostgreSQL/9.0/bin/postmaster -D/Library/PostgreSQL/9.0/data
-D之后的部分是数据目录的位置。您可能需要调整终端的大小以使其适合。
使用您喜欢的编辑器打开pg_hba.conf,如:
sudo vi <datadir>/pg_hba.conf
该文件包含(在我见过的所有安装中)一些描述设置的评论。实际设置是文件的底部。我怀疑这些行中的一个或多个以信任方式结束。将这些更改为md5以获取密码验证。