【发布时间】:2015-02-17 02:32:59
【问题描述】:
PostgreSQL 9.2.4
我无法再使用过去工作过的用户登录。我假设一个配置问题。因此,为了进行测试,我创建了一个测试用户角色“testing”,其选项与相关角色相同(作为仍然可以登录的“postgres”用户!):
CREATE ROLE testing WITH SUPERUSER NOCREATEDB NOCREATEROLE LOGIN PASSWORD 'pw';
角色创建成功:
角色列表 角色名称 |属性 |成员 -------------+-------------------------- ------------+----------- 后勤 |超级用户、创建角色、创建数据库、复制 | {} 测试 |超级用户 | {} ...但是,登录会导致此消息:
# psql -h 127.0.0.1 -p 5434 -U 测试 用户测试密码: psql:致命:用户“测试”的 PAM 身份验证失败 致命:用户“测试”的 PAM 身份验证失败当我尝试使用原始角色时,我也会收到此错误。
pg_hba.conf:
# "local" 仅适用于 Unix 域套接字连接 本地所有所有 pam # IPv4 本地连接: 托管所有所有 0.0.0.0/0 pam有人知道问题出在哪里吗?
【问题讨论】:
-
事实证明,对于 PAM 身份验证,必须存在具有该名称的 linux 用户。所以我为现有的 linux 用户创建了一个数据库角色并且能够登录。但是我仍然无法使用原始用户登录...
-
你试过相反的吗?为现有的数据库用户创建一个 linux 用户
标签: postgresql postgresql-9.2 pam