Postgresql pg_hba.conf配置文件小结

Postgresql数据库pg_hba.conf配置文件小结

PG数据库的pg_hba.conf配置文件中存储着和连接相关的权限配置,文件存放在Data目录下。文件中每一行为一条配置,每条配置中包括连接类型数据库用户客户端地址认证方式几个字段。

上述字段对应配置文件中的TYPE、DATABASE、USER、ADDRESS、METHOD字段。

下面分别解释下上述字段常用的设置:

  • TYPE(连接类型)字段,该字段值包括local、host、hostssl、hostnossl。

    local: 只允许本地客户端登录。

    host: 允许远程客户端登录。

    hostssl:允许经过ssl加密的连接。


hostnossl:和hostssl相反,允许未经过ssl加密的连接。
  • DATABASE(数据库)字段,该字段设置所允许连接的数据库,设置为ALL时,表示允许连接所有数据库。设置为replication时,表示允许复制连接的请求,如果存在两个需要同步的数据库,那么需要设置replication值。

  • USER(用户)字段,该字段设置允许登录的数据库用户,设置为ALL时,表示允许所有用户登录。

  • ADDRESS(客户端地址)字段,设置允许登录的客户端地址,设置格式为:xxx.xxx.xxx.xxx/n,其中/后的n表示子网掩码。如192.168.6.1/32,表示IP为192.168.6.1,子网掩码为255.255.255.255; 192.168.6.0/24表示子网掩码为255.255.255.0,此时允许192.168.6.0-192.168.6.255范围内的客户端地址链接。

  • METHOD(认证方式)字段,该字段常用的值包括Trust和MD5,Trust表示不需要口令而允许对应的客户端链接。MD5表示,客户端需要使用MD5加密的口令认证连接。

配置示例如下:

host all all 0.0.0.0/0 md5
表示允许地址在0.0.0.0-255.255.255.255范围内的客户端,通过MD5加密的密码,使用任意用户连接任意数据库。

host all all 0.0.0.0/0 md5
表示允许地址在0.0.0.0-255.255.255.255范围内的客户端,通过MD5加密的密码,使用任意用户连接任意数据库。

建议通过此配置文件配置客户端的地址范围,而具体的数据库的权限,建议使用PG的角色权限管理,风方便也更安全。PG的角色权限管理后续进行介绍。

参考资料:Postgresql用户手册。

你可能感兴趣的:(Postgresql)