允许LocalSystem访问PostgreSQL数据库

时间:2017-10-19 16:57:38

标签: postgresql postgresql-9.6 access-rights sspi local-system-account

我正在尝试配置我的PostgreSql数据库(“mydb”),以便为Windows“LocalSystem”帐户提供登录权限。

我在我的数据库中创建了一个名为LocalSystem

的用户
SQL> CREATE USER LocalSystem;

然后,我尝试在pg_hba.conf中使用SSPI配置,但也许我错误配置了配置行:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    mydb            LocalSystem     127.0.0.1/32            sspi

当我使用psql运行命令时,我被要求提供密码......我没想到...

编辑: 我还尝试使用

将我的域帐户映射到postgres用户
pg_ident.conf
#MAPNAME       SYSTEM-USERNAME         PG-USERNAME
 postgresname  domain\username         postgresname

pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD
  host  mydb            postgresname    127.0.0.1/32            sspi

有人知道我该怎么办?

由于

2 个答案:

答案 0 :(得分:0)

它要求输入Postgres帐户的密码,而不是Windows帐户。您可以使用\ password命令

通过ALTER ROLE或psql设置Postgres密码

答案 1 :(得分:0)

  1. 您需要向pg_ident.conf添加新的映射行:

    anyMappingName "SYSTEM@NT AUTHORITY" postgresUserName

  2. 将此映射添加到pg_hba.conf中的所有活动行:

    host mydb all 127.0.0.1/32 sspi map=anyMappingName

  3. 然后,您应该以 postgresUserName 用户身份连接到postgres db。我的意思是您应该在连接字符串中定义用户名,并将IntegratedSecurity定义为TRUE。

例如,postgresUserName可以是您先前在postgres db中创建的“ LocalSystem”用户,也可以是超级用户“ postgres”。