文章目录

  • 1.1 连接方式TYPE
  • 1.2 数据库名DATABASE
  • 1.3 用户名USER
  • 1.4 IP地址和掩码ADDRESS
  • 1.5 身份验证模式METHOD

  PostgreSQL的客户端认证是由一个配置文件pg_hba.conf控制的,该文件默认存放在数据目录下。
  pg_hba.conf文件的格式如下:

TYPE       DATABASE  USER  ADDRESS    METHOD
local      database  user  auth-method  [auth-options]
host       database  user  address  auth-method  [auth-options]
hostssl    database  user  address  auth-method  [auth-options]
hostnossl  database  user  address  auth-method  [auth-options]
host       database  user  IP-address  IP-mask  auth-method  [auth-options]
hostssl    database  user  IP-address  IP-mask  auth-method  [auth-options]
hostnossl  database  user  IP-address  IP-mask  auth-method  [auth-options]

pg_hba.conf文件参数主要分为以下五类:

  • 连接类型
  • 客户端 IP 地址(范围)
  • 数据库名
  • 用户名
  • 认证方式

1.1 连接方式TYPE

指定用户的连接方式

  • local
    使用本地unix套接字
  • host
    使用TCP/IP连接(包括SSL和非SSL),host结合IPv4地址/结合IPv6地址
  • hostssl
    只能使用SSL TCP/IP连接
  • hostnossl
    不能使用SSL TCP/IP连接

1.2 数据库名DATABASE

指定用户所匹配的数据库名称

  • all表明该记录匹配所有数据库
  • sameuser表示如果被请求的数据库和请求的用户同名,则匹配。
  • samerole表示请求的用户必须是一个与数据库同名的角色中的成员。
  • replication表示如果请求一个复制链接, 则匹配。
  • 在其它情况里,这就是一个特定的 PostgreSQL数据库名字。可以通过用逗号分隔的方法声明多个数据库, 也可以通过前缀@来声明一个包含数据库名的文件。

1.3 用户名USER

指定数据库用户

  • all表明匹配于所有用户。
  • 其他情况就是特定数据库用户名

1.4 IP地址和掩码ADDRESS

指定客户端机器地址,该部分对应的连接方式必须是host、hostssl、hostnossl之一

  • all可以匹配任何ip地址、写samehost来匹配任何本服务器自身的 IP 地址或者写samenet来匹配本服务器直接连接到的任意子网的任意地址。
  • 指定了一个主机名,该名称会与客户端的 IP 地址的反向名字解析结果进行比较。
  • 一个 IP 地址范围以该范围的开始地址的标准数字记号指定,然后是一个斜线(/) 和一个CIDR掩码长度。

1.5 身份验证模式METHOD

  METHOD为身份验证模式一般分为:ident、trust、md5、password、peer、reject。其中ident和peer模式仅适用于Linux、Unix和Max,不适用于Windows。

  • trust,该模式可以不用密码直接连接数据库,不安全
  • md5,该模式要求连接发起者携带用md5算法加密的密码
  • password,该模式是使用明文密码进行身份验证,也不安全,不推荐
  • ident,该模式下系统会将请求发起者的操作系统用户映射为PostgesSQL数据库内部用户,并以该内部用户的权限登录,且此时无需提供登录密码。操作系统用户与数据库内部用户之间的映射关系会记录在pg_ident.conf文件中。
  • peer,该模式使用连接发起端的操作系统名进行身份验证。仅限于Linux、BSD、Mac OS X和Solaris,并且仅可用于本地服务器发起的连接。
  • reject,该模式表示拒绝所有请求。
  • gss,用 GSSAPI 认证用户
  • sspi,用 SSPI 来认证用户
  • ldap,使用LDAP服务器认证
  • radius,用 RADIUS 服务器认证
  • cert,使用 SSL 客户端证书认证
  • pam,使用操作系统提供的可插入认证模块服务(PAM)认证
# TYPE  DATABASE        USER            ADDRESS                 METHOD# "local" is for Unix domain socket connections only
local   all             all                                  md5
# IPv4 local connections:
host    all             all             0.0.0.0/0            md5
# 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

PostgreSQL客户端认证配置相关推荐

  1. Java SSLSocket客户端认证配置

    在学校Java网络编程的时候,都会接触到Socket,Socket是基于TCP的数据传输方式,但Socket是没有证书认证的,它无法建立带证书认证的连接.还好,Java中提供了带证书认证的SSLsoc ...

  2. postgresql 数据库 客户端认证

    简介 当客户端与数据库服务器连接时,它需要指定用哪个数据库用户的身份来连接. PostgreSQL 为我们提供了很多种客户端认证的方式,我们可以根据自己的需要来选择认证方式. psql psql 是 ...

  3. Nginx配置HTTPS客户端认证

    Nginx配置HTTPS客户端认证 最近折腾自己个人网站,有一个私人模块,只能自己访问,使用登录授权方式虽然也能达到目的,但每次都要登录,且密码也不一定安全.想起学HTTPS的时,有一个客户端证书的概 ...

  4. 8021x 获取IP信息失败,请检查锐捷认证客户端当前配置是否符合所在网络的要求,检查完毕后尝试重新认证

    早上一起床,登陆锐捷客户端上网,谁知道错问题了.不能联网了,锐捷登陆成功,但是一会儿就提示失败,获取IP信息失败了.下面我描述一下问题原因: 锐捷登陆后有认证提示,和往常正常情况一样的,不过有个小感叹 ...

  5. PostgreSQL 10.1 手册_部分 III. 服务器管理_第 20 章 客户端认证

    第 20 章 客户端认证 目录 20.1. pg_hba.conf文件20.2. 用户名映射20.3. 认证方法 20.3.1. 信任认证20.3.2. 口令认证20.3.3. GSSAPI 认证20 ...

  6. XP系统CMCC-AUTO客户端自动认证配置教程

    原文地址:http://blog.sina.com.cn/s/blog_a3cc521d01015q5h.html CMCC-AUTO客户端自动认证配置教程 移动热点CMCC-AUTO使用Micros ...

  7. 吉大正元php,吉大正元CA认证服务器与客户端以及配置文档

    [实例简介] 吉大正元CA认证服务器与客户端以及配置文档,有服务器和客户端,有配置文档,一般人都可以看得懂. [实例截图] [核心代码] I网关报文认证Java版BSDemo ├── Debugger ...

  8. Greenplum 权限管理与客户端认证

    2019独角兽企业重金招聘Python工程师标准>>> 2. 权限管理 Greenplum 数据库 权限管理 通过 角色(role) 来进行. Role 概念包括 User 和 Gr ...

  9. post修改服务器数据源,postgresql安装及配置超详细教程

    1. 安装 根据业务需求选择版本,官网下载 初始化数据库 执行完初始化任务之后,postgresql 会自动创建和生成两个用户和一个数据库: linux 系统用户 postgres:管理数据库的系统用 ...

  10. Ubuntu20.04 PostgreSQL 14 安装配置记录

    PostgreSQL 名称来源 It was originally named POSTGRES, referring to its origins as a successor to the Ing ...

最新文章

  1. 挑选适合自己的公司——网络工程师你是否真的已经倒下(二)
  2. 【论文理解】ArcFace: Additive Angular Margin Loss for Deep Face Recognition(InsightFace)
  3. PHP开发中常见的安全问题详解和解决方法
  4. Linux公社资料库地址
  5. Java集合篇:HashMap原理详解(JDK1.7及之前的版本)
  6. excluded by a filter_A. Manthiram:碲入硫,锂更稳!
  7. qvector 结构体排序_1164 2547 (排序微课)(B站视频链接)
  8. 深度学习李宏毅PPT学习笔记一(深度学习介绍)
  9. 风云武魂传说防御(四职业)
  10. 智慧城市——智慧社区解决方案
  11. UML图:用例图详细介绍
  12. INS/GNSS组合导航(二)GNSS卫星定位原理及误差源
  13. 数分下(第1讲):一阶微分方程的三类模型求解
  14. 数据库驱动和数据库连接(MySQL)
  15. Latex aligned
  16. Maven settings.xml 文件详解
  17. WiFi大师专业版4.1.4独立源码
  18. 天气预报今天几点下雨_天气预报今天几点下雨【相关词_ 天气预报明天几点下雨】...
  19. 超1亿人次嗨玩猜画夺宝 AI助灵魂画手智抢红包
  20. 【历史上的今天】8 月 15 日:苹果推出初代 iMac;谷歌收购摩托罗拉移动;Fuchsia 首次发布

热门文章

  1. 全网最详细的下载、安装和使用绘图神器draw.io(drawio),它比visio,processon,wps,亿图图示等更好用,最重要的是它免费
  2. #######好好好好##########知识图谱商业应用
  3. 【React】react实现前端播放m3u8格式视频
  4. Bridge的VLAN接口模式
  5. Qt学习之资源文件(qrc)的添加以及使用
  6. 矩阵键盘mega16 c语言程序,51单片机对矩阵键盘实现16个按键操作的电路设计
  7. 华为商业级AC6005+AP3030DN无线WIFI组网
  8. python读取txt文件
  9. 大二 数据结构 期末复习题(仅供参考)
  10. 机器码(machine code)和字节码(byte code)是什么?