我刚刚使用自制软件在我的 mac(lion)上安装了 postgresql,当我使用psql postgres
(或任何其他数据库)时,它会自动让我登录。
有趣的是,即使使用\password
命令在 psql 中更改一次密码,它仍然只是让我进入而不会提示我输入密码。
它还将我的用户名(与我的 mac os 登录名相同的用户名)显示为所有者。
有没有办法让事情更加安全?
我刚刚使用自制软件在我的 mac(lion)上安装了 postgresql,当我使用psql postgres
(或任何其他数据库)时,它会自动让我登录。
有趣的是,即使使用\password
命令在 psql 中更改一次密码,它仍然只是让我进入而不会提示我输入密码。
它还将我的用户名(与我的 mac os 登录名相同的用户名)显示为所有者。
有没有办法让事情更加安全?
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 以获取密码验证。