2

我在 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 上同样的问题

4

1 回答 1

3

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

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

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

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

改成

host    all             admin           <whatever>              md5

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

于 2016-11-17T01:16:16.663 回答