PostgreSQL如何配置密码认证

数据库关系型数据库技术服务知识库
问题描述

安装 PostgreSQL 数据库时,会创建一个与初始化数据库时的操作系统用户同名的数据库用户,这个用户是数据库的超级用户,在此 OS 用户下登录数据库时,因为执行的是操作系统认证,所以是不需要用户名和密码的,这样不是很安全,那么如何修改配置文件让用户登录的时候输入密码?

问题分析

pg_hba.conf使用控制用户访问的认证配置文件,本地连接的认证配置格式如下:

local      database  user  auth-method  [auth-options]

可以通过修改 auth-method 认证方法为 md5 来要求用户登录时候输入口令密码。

解决方案

自建PostgreSQL实例

  1. 为默认用户 postgres 修改自定义的密码
[postgres@iv-ebgymdaodpe2tgjofpe5 pgdata]$ psql
psql (12.10)
Type "help" for help.
#修改最高权限用户postgres的账号密码                                         
postgres=# alter role postgres with password 'xxxxx';
ALTER ROLE
postgres=# \q

  1. 修改配置文件并验证生效
#修改pg_hba.conf文件前的文件内容
[postgres@iv-ebgymdaodpe2tgjofpe5 pgdata]$ cat pg_hba.conf | egrep -v "^#|^$"
local   all             all                                     trust
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust



#修改后的文件,修改trust为md5
[postgres@iv-ebgymdaodpe2tgjofpe5 pgdata]$ cat pg_hba.conf | egrep -v "^#|^$"
local   all             all                                     md5
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

  1. 重新加载配置文件并验证生效
#重新加载配置文件
[postgres@iv-ebgymdaodpe2tgjofpe5 pgdata]$ pg_ctl -D /data/pgdata -l logfile reload
server signaled


#再次登录的时候,可以看到需要输入用户名密码提示"Password for user postgres:"
[postgres@iv-ebgymdaodpe2tgjofpe5 pgdata]$ psql
Password for user postgres: 
psql (12.10)
Type "help" for help.

postgres=# 

RDS for PostgreSQL

火山引擎 RDS for PostgreSQL 默认采用用户名密码配置,对于创建用户,修改用户密码等操作,您均可以在控制台上完成,屏蔽了上述复杂的操作步骤。您可以参考下图进行相关配置 图片

参考文档

http://www.postgres.cn/docs/12/auth-pg-hba-conf.html 如果您有其他问题,欢迎您联系火山引擎技术支持服务

43
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论