一、文件位置
- 默认位置
查看参数 hba_file
- 修改文件位置
Step 1: ksql中修改参数
Step 2: hba_conf文件移动到之前设定的位置
mv sys_hba.conf /home/jiayb/
Step 3: 重启服务后查看参数位置
- 文件支持以下7种格式
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]
hostgssenc database user IP-address IP-mask auth-method [auth-options]
hostnogssenc database user IP-address IP-mask auth-method [auth-options]
二、TYPE 参数设置:
- ·local 可以本地登录,使用ksql 登录的时候不用加参数-h
sys_hba.conf:
登录:
- ·host 这条记录匹配企图使用 TCP/IP 建立的连接。host 记录匹配 SSL 或者 non-SSL 连接企图,也匹配 GSSAPI 加密或 non-GSSAPI 加密的连接企图。
sys_hba.conf:
登录:
- ·hostssl这条记录匹配企图使用 TCP/IP 建立的连接,但必须是使用 SSL 加密的连接。
要使用这个选项,编译服务器的时候必须打开 SSL 支持。此外,在服务器启动的时候必须通过设置 ssl 配置参数打开 SSL。否则,hostssl 记录会被忽略,并且会记录一个警告说它无法匹配任何连接。
sys_hba.conf:
登录:
注:登录前需要配置ssl后重启服务
- ·hostnossl,与hostssl相反,配置ssl后可以不使用ssl进行连接
sys_hba.conf:
登录:
- ·hostgssenc 记录TCP/IP建立的连接,需要使用GSSAPI加密连接,编译服务器的时候必须打开 GSSAPI 支持(见GSSAPI配置方法)
sys_hba.conf:
登录:
- ·hostnogssenc ,与hosgssenc相反,配置GSSAPI后可以不使用gss进行连接
sys_hba.conf:
登录:
三、DATABASE 参数设置
DATABASE 表示数据库名称,值可能为:
`all` ,`sameuser`,`samerole`,`replication`,`数据库名称` ,或者多个
数据库名称用 `逗号`,注意ALL不匹配 replication
注:all 匹配所有数据库
sameuser 数据库命跟用户名相同
samerole 指定请求的用户必须是一个与数据库同名的角色中的成员
Replication 这是流复制链接的配置,在PG的主从配置中会用到
例子
host all all 127.0.0.1/32 trust
host sameuser system 127.0.0.1/32 trust
host sameuser system 127.0.0.1/32 trust
#@test :在data路径下有名称为test的文件,文件中包含所用的数据库名称
host @test system 127.0.0.1/32 trust
host db1,db2 system 127.0.0.1/32 trust
四、USER 参数设置
USER 表示用户名称,值可以为:
`all`,`一个用户名`,`一组用户名` ,多个用户时,可以用 `,`逗号隔开,或者在用户名称前缀 `+` ;在USER和DATABASE字段,也可以写一个单独的文件名称用 `@` 前缀,该文件包含数据库名称或用户名称
host all all 127.0.0.1/32 trust
host test system 127.0.0.1/32 trust
host test system,u1 127.0.0.1/32 trust
host test system,+u1 127.0.0.1/32 trust
#@test :在data路径下有名称为test的文件,文件中包含所用的用户名称
host test @ test 127.0.0.1/32 trust
五、ADDRESS 参数设置
该参数可以为 `主机名称` 或者`IP/32(IPV4) `或 `IP/128(IPV6)`,主机
名称以 `.`开头,`samehost`或`samenet` 匹配任意Ip地址
host all all 127.0.0.1/32 trust
host all all samehost trust
host all all samenet trust
host all all ::1/128 trust
host all all VM-24-14-centos trust
六、METHOD 参数设置
该值可以为"trust", "reject", "md5", "password", "scram-sha-256",
"gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert"
注: 若为`password`则发送的为明文密码
host all all 127.0.0.1/32 md5
host all all 127.0.0.1/32 trust
host all all 127.0.0.1/32 password
host all all 127.0.0.1/32 scram-sha-256
-trust
无条件的允许链接。在此种认证方法下,数据库用户进行连接时不需要输入任何口令。
-reject
无条件的拒绝连接。在此种认证方法下,数据库会拒绝该连接(即,配置连接的黑名单)。
-md5
要求客户端提供一个MD5加密的口令的认证。这种模式下,客户端在网络上传递的口令经过了MD5加密,防止在网络上明文传输,造成口令的泄露。
-password
要求客户端提供一个明文口令,这种模式下,客户端提供的口令会以明文的形式在网络上传递,具有泄露的风险,一般不会采用该种方式。
-ident
服务器会联系客户端的ident服务,验证当前的用户在客户端上是不是操作系统的有效用户,如果是,则链接成功;如果不是则链接失败。这种方式通常和UNIX域套接字的链接认证方式一起使用,此时和peer认证的效果一致。
-peer
用操作系统用户登录,链接的用户是操作系统上某个操作系统的用户,但是需要注意的是数据库中要存在和操作系统一样的同名用户。