pgsql 数据库密码登录配置

一、postgreSQL认证文件

pg_hba.conf

配置文件pg_hba.conf的位置,通常情况下的路径是

/etc/postgresql/[VERSION]/main/pg_hba.conf

二、配置文件的内容

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

三、认证方式参数

  • 1.trust

无条件的允许连接。这种方法允许任何可以与PostgreSQL数据库服务器连接的主机以任意PostgreSQL数据库用户身份登入,而不需要口令或者其他任何认证。也就是当配置文件(pg_hba.conf)中的method为trust时,则配置文件(pg_hba.conf)中指定的IP主机可以以任何的数据库用户名登录而不需要密码

  • 2.reject

无条件地拒绝连接。这有助于从一个组中“过滤出”特定主机,例如一个reject行可以阻塞一个特定的主机连接,而后面一行允许一个特定网络中的其余主机进行连接。

  • 3.md5

要求客户端提供一个MD5加密的口令进行认证。

  • 4.password

要求客户端提供一个未加密的口令进行认证。因为口令是以明文形式在网络上发送的,所以我们不应该在不可信的网络上使用这种方式

  • 5.ident

通过联系客户端的ident服务器获取客户端的操作系统名,并且检查它是否匹配被请求的数据库用户名。ident认证只能在TCP/IP连接上使用。当为本地连接指定这种认证方式时,将用peer认证来替代(远程操作系统的当前用户名和数据库的用户名一致时,可以直接使用此用户名登录而不需要密码)

  • 6.peer

从操作系统获得客户端的操作系统用户,并且检查它是否匹配被请求的数据库用户名。这只对本地连接可用。(本地操作系统的当前用户名和数据库的用户名一致时,可以直接使用此用户名登录而不需要密码)

  • 7.gss

用 GSSAPI 认证用户。只对TCP/IP 连接可用。

  • 8.sspi

用 SSPI 来认证用户。只在Windows 上可用。

  • 9.idap

使用LDAP服务器认证。

  • 10.radius

用 RADIUS 服务器认证。

  • 11.cert

使用 SSL 客户端证书认证。

  • 12.pam

使用操作系统提供的可插入认证模块服务(PAM)认证。

  • 13.bsd

使用由操作系统提供的 BSD 认证服务进行认证。

posted @ 2021-10-27 17:03  hziwei  阅读(1992)  评论(0编辑  收藏  举报