如何强制使用密码登录 Postgresql 用户

xua*_*hui 5 authentication passwords postgresql

我所做的只是在我的本地机器(Mac OS)中。

安装postgresql后,我创建了一个密码为poet的用户,然后创建了一个名为poems的数据库,数据库的所有者是poet。

我很好奇的是,不用密码,我可以和诗人一起登录诗歌。

命令是psql -U poet -d poems. 那么密码有什么用呢?

我知道我可以添加 -W 来获取密码提示psql -U poet -d poems -W,但即使密码错误,我仍然可以登录!

然后我修改配置文件(/usr/local/var/postgres/pg_hba.conf)如下:

# "local" is for Unix domain socket connections only
#local   all             all                                     trust
local   all             all                                     password
# IPv4 local connections:
#host    all             all             127.0.0.1/32            trust
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
#host    all             all             ::1/128                 trust
host    all             all             ::1/128                 password
Run Code Online (Sandbox Code Playgroud)

并重新启动服务器,我仍然不需要提供密码登录数据库。

有人能告诉如何强制服务器验证登录密码的正确性吗?

Kei*_*son 8

这也发生在我身上。非特权帐户能够使用无效密码登录。我为解决它而采取的步骤是。

找到正确的 pg_hba.conf 文件。

$ psql -h 127.0.0.1 -U admin -W postgres
Password for user admin: 
psql (9.6.5)
Type "help" for help.

openproject_dev=# SHOW hba_file ;
              hba_file               
-------------------------------------
 /usr/local/var/postgres/pg_hba.conf
(1 row)
Run Code Online (Sandbox Code Playgroud)

编辑文件以强制密码登录...将管理员(超级用户)保留为信任。我使用 md5 而不是密码 .. 密码也有效。

# "local" is for Unix domain socket connections only
local   all             admin                                   trust
local   all             all                                     md5
# IPv4 local connections:
host    all             admin           127.0.0.1/32            trust
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             admin           ::1/128                 trust
host    all             all             ::1/128                 md5
Run Code Online (Sandbox Code Playgroud)

保存 pg_hba.conf 文件并重新启动 postgres 服务器。

  • 是否可以编写所有这些脚本?疯了吧。我希望能够自动创建一个带有密码的用户,而不必担心编辑该死的文件。:(。 (2认同)