0

我刚刚使用自制软件在我的 mac(lion)上安装了 postgresql,当我使用psql postgres(或任何其他数据库)时,它会自动让我登录。

有趣的是,即使使用\password命令在 psql 中更改一次密码,它仍然只是让我进入而不会提示我输入密码。

它还将我的用户名(与我的 mac os 登录名相同的用户名)显示为所有者。

有没有办法让事情更加安全?

4

1 回答 1

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 以获取密码验证。

于 2012-05-06T06:19:14.983 回答