赞
踩
1.客户端认证配置配置文件pg_hba.conf作用
- 哪些主机可以连接数据库实例
- 哪个数据库用户可以使用它
- 允许这个用户使用哪些数据库
- 客户端使用什么连接方式和认证方式
2.配置文件说明
- 该配置文件有5个参数,分别为:
- TYPE(主机类型)、DATABASE(数据库名)、USER(用户名)、ADDRESS(IP地址和掩码)、METHOD(加密方法)
- # 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]
3.主机类型
- pg_hba.conf-主机类型TYPE
- local匹配使用Unix域套接字的连接
- 如果没有TYPE为local的条目则不允许通过Unix域套接字连接
-
- host匹配使用 TCP/IP建立的连接,同时匹配SSL和非SSL连接
- 缺省安装只监听本地环回地址localhost的连接,不允许使用TCP/IP远程连接
- 启用远程连接需要修改postgresql.conf中的listen_addresses参数
-
- SSL(Secure Sockets Layer 安全套接字协议),
- hostssl 匹配必须是使用SSL的TCP/IP连接
- 客户端和服务器端都安装OpenSSL
- 编译PostgreSQL的时候指定configure参数--with-openssl打开SSL支持
- 在postgresql.conf中配置ssl = on
-
- hostnossl只匹配使用非SSL的TCP/IP连接
4.认证方式
- pg_hba.conf-认证方式
- trust
- 无条件地允许连接。
- 允许任何可以与PostgreSQL数据库服务器连接的用户身份登入
- 不需要口令或者其他任何认证。
- reject
- 无条件拒绝连接。常用于从一个组中“过滤出”特定主机
- 例如一个reject行可以阻塞特定的主机连接,而后面一行允许特定网络中的其余主机进行连接
- md5和password口令认证
- md5认证方式为双重md5加密,password指明文密码
- 不能在非信任网络使用password方式。
- peer
- 从操作系统获得客户端的操作系统用户,并且检查它是否匹配被请求的数据库用户名
- 只对本地连接可用
5.pg_hba.conf-配置示例
- # TYPE DATABASE USER ADDRESS METHOD
- local all all trust # 服务端本地用户可信登录
- host replication replica 192.168.1.0/0 md5 # 流复制用户密码验证登录
- host all postgres 192.168.1.0/0 reject # 拒绝超级用户从网络登录
- host all all 192.168.1.0/0 md5 # 其它用户密码验证登陆(不太安全)
6.总结
- local 备注:
- Linux下进程通讯方式有很多,比较典型的有套接字,平时比较常用的套接字是基于TCP/IP协议的,
- 适用于两台不同主机上两个进程间通信, 通信之前需要指定IP地址.
- 同一台主机上两个进程间通信用套接字,还需要指定ip地址,有点过于繁琐.
- 这个时候就需要用到UNIX Domain Socket, 简称UDS。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。