pgadmin4 允许使用错误密码以管理员用户身份登录

pgadmin4 allows login as admin user with wrong password

我在 pgadmin4 中创建了一个带密码的管理员用户:

CREATE USER admin WITH
LOGIN
SUPERUSER
CREATEDB
CREATEROLE
INHERIT
REPLICATION
CONNECTION LIMIT -1
PASSWORD 'xxxxxx';

但是我可以使用管理员用户和任何错误的密码登录到相应的服务器。 我使用 psql 命令行检查用户是否已创建,确实如此。

# SELECT usename FROM pg_user;
usename   
------------
 postgres
 xxxxxxxxxxx
 admin
 (3 rows)

我检查了我是否可以通过 psql 命令行使用管理员用户和错误的密码登录,它成功了...

我是不是做错了什么?

Pgadmin4 v1.1
PostgreSQL v9.6
Centos 6.8 和 macOSX 19.12.1

同样的问题

这是猜测,但这是有根据的猜测,因为我遇到了类似的问题。

如果您的 pg_hba.conf 文件,我相信您已将管理员用户设置为 "trust." 这几乎意味着它可以从您指定的任何地方登录,无需密码。

如果将其更改为 "md5,",应该可以解决问题。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             admin           <whatever>              trust

改为

host    all             admin           <whatever>              md5

当然,其中一些字段可能会有所不同,具体取决于您设置服务器的方式,但您明白了。