我刚刚使用自制软件在我的 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 以获取密码验证。