远程主机上不存在 psql 角色,但本地存在

远程主机上不存在 psql 角色,但本地存在

我有一个本地 psql 服务器,配置为对除postgres帐户之外的所有服务器使用 ldap。但是 ldap 未在localpsql 对该角色没有问题的地方使用,并且在使用hostldap 的地方无法找到该角色。

找不到角色是因为 pg_hba.conf 问题还是授予额外权限的问题?还是其他原因?

插座

psql lncddb useraccnt 
# psql (11.2 (Debian 11.2-2), server 10.4 (Debian 10.4-2))
# login without password prompt, 'useraccnt' is also system account (in /etc/passwd)

当地的

psql -h localhost lncddb useraccnt 
# Password for user useraccnt: fake

偏僻的

psql -h 10.145.64.121 lncddb useraccnt -p 5433
# Password for user useraccnt: ldappass

psql:严重:角色“useraccnt”不存在

或者输入了错误的密码

psql:严重:用户“useraccnt”的 LDAP 身份验证失败

严重错误:用户“useraccnt”的 LDAP 身份验证失败


pg_hba

# postgres is special
local   all             postgres                           peer
host    all             postgres   0.0.0.0/0               md5
# everyone else should go through ldap
local   all             all                                     ldap ldapserver=a.b.net ldapsuffix="@place.edu"  ldapport=389
host    all             all             0.0.0.0/0               ldap ldapserver=a.b.net ldapsuffix="@place.edu"  ldapport=389
host    all             all             ::1/128                 ldap ldapserver=a.b.net ldapsuffix="@place.edu"  ldapport=389

foranw 创建了类似

create role useraccnt with LOGIN REPLICATION password 'fake';
GRANT ALL PRIVILEGES ON DATABASE lncddb TO useraccnt;

的角色lncddb

 psql lncddb postgres -c '\l lncddb'
                                List of databases
  Name  |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
--------+----------+----------+-------------+-------------+-----------------------
 lncddb | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres         +
        |          |          |             |             | postgres=CTc/postgres+
        |          |          |             |             | useraccnt=CTc/postgres
(1 row)

答案1

指定端口,psql 标头 ( psql (11.2 (Debian 11.2-2), server 10.4 (Debian 10.4-2))) 应该会提示我。我配置了错误的服务器。

systemctl |grep postgres
  postgresql.service            loaded active     exited    PostgreSQL RDBMS                                                                                   
  [email protected]    loaded active     running   PostgreSQL Cluster 10-main                                                                         
  [email protected]    loaded active     running   PostgreSQL Cluster 11-main                                                                         
  system-postgresql.slice       loaded active     active    system-postgresql.slice

相关内容