暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

pg_hba.conf 文件配置介绍

于志君 2024-10-29
1175

pg_hba.conf文件是一个黑白名单的访问控制文件,可以控制允许哪些IP地址的机器访问数据库,对使用的用户和访问的数据库,及使用哪种授权认证方式和方法来进行控制。

其配置的条目如下图所示:

TYPE 常用配置介绍

local——使用本地unix套接字

host——使用TCP/IP连接(包括SSL和非SSL),“host”结合“IPv4地址”使用IPv4方式,结合“IPv6地址”则使用IPv6方式,“hostssl”只能使用SSL TCP/IP连接,“hostnossl”不能使用SSL TCP/IP连接。

DATABASE

Database指定哪个数据库。

可以取值 "all", "sameuser", "samerole", "replication",一个数据库名称或逗号分隔的数据库名称列表。

all只有在没有其他的符合条目时才代表所有,如果有其他的符合条目则代表“除了该条之外的”,因为“all”的优先级最低。 另外all不匹配relication。

USER

User指定哪些用户可以访问。

可以取值 "all", a user name, a group name prefixed with "+", or a

comma-separated list thereof.

IP地址

ADDRESS指定这一记录匹配的客户端机器的IP地址范围。它包含一个标准点分十进制表示的IP地址和一个CIDR掩码长度IP地址只能用数字指定,不能写成域或者主机名。掩码长度指示客户端IP地址必须匹配的高位位数。给定IP地址中,在这些位的右边必须是零。IP地址、/和CIDR掩码长度之间不能有任何空格。

对于IPv4 ,子网掩码32、16、8、0分别表示不同的网络范围。

32‌:表示子网掩码为255.255.255.255,即单个IP地址。例如,192.168.1.1/32表示只允许IP地址为192.168.1.1的客户端连接。

16‌:表示子网掩码为255.255.0.0,即16个IP地址的范围。例如,192.168.1.0/16表示允许IP地址从192.168.1.1到192.168.255.254的客户端连接。

8‌:表示子网掩码为255.0.0.0,即256个IP地址的范围。例如,192.168.0.0/8表示允许IP地址从192.168.0.0到192.255.255.255的客户端连接。

0‌:表示子网掩码为0.0.0.0,即所有IP地址。例如,0.0.0.0/0表示允许任何IP地址的客户端连。


典型的CIDR地址例子是:192.0.2.89/32是一个单一主机。要指定一个单一主机,对IPv4使用一个CIDR掩码32,对IPv6使用128。在一个网络地址中,不要省略拖尾的零。

也可以指定网段,比如192.0.0.0/8 表示允许192.0.0.0~192.255.255.255 范围的IP访问。

身份验证模式

METHOD can be "trust", "reject", "md5", "password", "scram-sha-256","gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert".

常用的有ident、trust、md5、peer、password。

  • ident:获取客户的操作系统名然后检查该用户是否允许以要求的数据库用户进行连接,方法是参照在 ident 关键字后面声明的映射。对于 TCP/IP 连接,用户的身份是通过与运行在客户端上的 ident 服务器连接进行判断的,对于本地连接,它是从操作系统获取的。这个认证方法只适用于封闭的网络。
  • trust:无条件地允许联接,允许任何可以与PostgreSQL 数据库联接的用户以他们期望的任意 PostgreSQL 数据库用户身份进行联接,而不需要口令。
  • md5:要求客户端提供一个md5加密的口令进行认证,这个方法是允许加密口令存储在pg_shadow里的唯一的一个方法。
  • peer:通过从内核获得客户端的操作系统用户名并把它用作被允许的数据库用户名(和可选的用户名映射)来工作。这种方法只在本地连接上支持。
  • password:md5一样,但是口令是以明文形式在网络上传递的,不应该在不安全的网络上使用这个方式。

此配置文件修改之后,需要重启服务加载生效,或者运行 pg_ctl reload 或执行SELECT pg_reload_conf() 来重新加载配置文件。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论