赞
踩
1、实例访问控制,控制来自不同主机、不同用户是否允许访问指定的数据库,以及验证方式等。
2、PG的实例访问控制,使用编辑pg_hba.conf配置文件实现。(HBA表示基于主机的认证)
3、在 initdb初始化数据目录($PGDATA)时,它会安装一个默认的pg_hba. conf文件。后期也可以手动把认证配置文件放在其它地方。
4、pg_ hba.conf文件的常用格式是一组记录,每行一条。
空白行将被忽略,#注释字符后面的任何文本也被忽略。记录不能跨行。
5、一条记录由若干用空格/或制表符分隔的域组成。如果域值用双引号包围,那么它可以包含空格。
在数据库、用户或地址域中引用一个关键字(例如,all或replication)将使该词失去其特殊含义,并且只是匹配一个有该名字的数据库、用户或主机。
6、具体名单格式:
Type | 连接类型 | local:本地连接,支队unix、linux系统有效,使用socket当时登录 host:表示主机通过TCP/IP连接 hostssl:表示主机连接需要ssl加密方式连接 |
database | 连接的数据库名 | all:表示所有数据库 $db_name:表示指定的数据库 replication:表示主备复制时的连接 |
user | 连接的用户名 | all:表示所有用户 $user_name:表示指定用户 +$group_name:表示一组用户 @$file_name:表示文件中包含的用户列表 |
address | 访问的客户端主机 | 127.0.0.1/32:表示本地客户端主机 0.0.0.0/0:表示所有客户端主机 $host_name:表示指定的主机名(hosts文件中包含) $ip_addr/$net_mask:表示指定的ip地址或网段 |
method | 指定的验证方式 | trust:信任客户端连接,无需提供密码 scram-sha-256:这是当前提供的方法中最安全的一种,但是旧的客户端库不支持这种方法。 md5:它能防止口令嗅探并且防止口令在服务器上以明文存储,但是无法保护攻击者想办法从服务器上窃取了口令哈希的情况。 password:方法password以明文形式发送口令,因此它对于口令“嗅探”攻击很脆弱。 ident:该模式下系统会将请求发起者的操作系统用户映射为 PG数据库内部用户,并以该内部用户的权限登录,且此时无需提供登录密码。操作系统用户与数据库内部用户之间的映射关系会记录在 pg_ident. conf文件中. peer:该模式使用连接发起端的操作系统名进行身份验证。仅限于 Linux、BSD、Mac OS x和 Solaris,并且仅可用于本地服务器发起的连接。 reject:该模式表示拒绝所有请求。 |
规则:和顺序有关,在上者优先。(例如:拒绝的规则在上,同意的规则在下,则会拒绝。) |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。