电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

postgresql数据库pg

7页
  • 卖家[上传人]:pu****.1
  • 文档编号:507380239
  • 上传时间:2022-11-11
  • 文档格式:DOC
  • 文档大小:23.51KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 postgresql数据库 pg_hba.conf配置说明当一个客户端应用与数据库服务器进行联接时,它声明它将以哪个 PostgreSQL 用户的名称进行联接, 就象我们登录一台 Unix 计算机一样。在 SQL 环境里, 活跃的数据库用户名决定数据库对象的各种访问权限 参阅Chapter 17获取更多信息。因此, 实际上我们要限制的是用户可以联接的数据库。 认证 是数据库服务器建立客户端的标识, 然后通过一些手段判断是否允许此客户端应用(或者运行这个客户端应用的用户)与它所要求的用户名进行联接的过程。 PostgreSQL 提供多种不同的客户端认证方式。认证某个特定客户端联接所使用的方法可以通过基于(客户端)的主机地址,数据库和用户的方式进行选择; 一些认证方法还允许你通过用户名进行限制。 PostgreSQL 用户名在逻辑上是和服务器运行的操作系统用户名相互独立的。 如果某个服务器的所有用户在那台服务器机器上也有帐号, 那么给数据库用户赋与操作系统用户名是有意义的。不过, 一个接收远程访问的服务器很有可能有许多没有本地操作系统帐号的用户, 因而在这种情况下数据库用户和操作系统用户

      2、名之间不必有任何联系。 pg_hba.conf 文件 客户端认证是由一个配置文件控制的,通常其文件名是 pg_hba.conf, 存放在数据库集群的数据目录里。 (HBA 的意思是 host-based authentication:基于主机的认证。) 在initdb初始化数据目录的时候,它会安装一个缺省的文件。 不过我们也可以把认证配置文件放在其它地方;参阅 hba_file 配置参数。 文件 pg_hba.conf 的常用格式是一套记录, 每行一条。空白行行被忽略,井号( # )开头的注释也被忽略。 一条记录是由若干用空格和/或 tab 分隔的字段组成。 如果字段用引号包围,那么它可以包含空白。记录不能跨行存在。 每条记录声明一种联接类型,一个客户端 IP 地址范围(如果和联接类型相关的话),一个数据库名,一个用户名字, 以及对匹配这些参数的联接使用的认证方法。 第一条匹配联接类型,客户端地址和联接企图请求的数据库名和用户名的记录将用于执行认证。 这个处理过程没有跨越或者回头的说法:如果选择了一条记录而且认证失败, 那么将不考虑后面的记录。如果没有匹配的记录,那么访问将被拒绝。 每

      3、条记录可以下面七种格式之一 local database user authentication-method authentication-optionhost database user CIDR-address authentication-method authentication-optionhostssl database user CIDR-address authentication-method authentication-optionhostnossl database user CIDR-address authentication-method authentication-optionhost database user IP-address IP-mask authentication-method authentication-optionhostssl database user IP-address IP-mask authentication-method authentication-optionhostnossl database user I

      4、P-address IP-mask authentication-method authentication-option 各个字段的含义如下: local这条记录匹配通过 Unix 域套接字进行的联接企图。 没有这种类型的记录,就不允许 Unix 域套接字的联接。 host这条记录匹配通过 TCP/IP 进行的联接尝试。 host 记录匹配 SSL 和非 SSL 的连接请求。 注意: 除非服务器带着合适的 listen_addresses 配置参数值启动,否则将不可能进行远程的 TCP/IP 连接, 因为缺省的行为是只监听本地自环地址 localhost 的连接。 hostssl这条记录匹配使用 TCP/IP 的 SSL 联接企图。 但必须是使用 SSL 加密的联接。 要使用这个选项,制作服务器的时候必须打开 SSL 支持。而且在服务器启动的时候, 必须SSL选项通过配置选项ssl打开。 hostnossl这个记录与 hostssl 有着正相反的逻辑: 它只匹配那些在 TCP/IP 上不使用 SSL 的连接请求。 database声 明记录所匹配的数据库。值 all 表明该记录匹配所

      5、有数据库, 值 sameuser表示如果被请求的数据库和请求的用户同名,则匹配。 samegroup 表示请求的用户必须是一个与数据库同名的组中的成员。 在其他情况里,这就是一个特定的 PostgreSQL 的名字。 我们可以通过用逗号分隔的方法声明多个数据库。 一个包含数据库名的文件可以通过对该文件前缀 来声明。 user为这条 记录声明所匹配的PostgreSQL用户。值 all 表明它匹配于所有用户。 否则,它就是特定 PostgreSQL 用户的名字。多个用户名可以通过用逗号分隔的方法声明。组名字可以通过用 + 做组名字前缀来声明。 一个包含用户名的文件可以通过在文件名前面前缀 来声明。该文件必需和 pg_hba.conf 在同一个目录。 CIDR-address声明这条记录匹配的客户端机器的 IP 地址范围。它包含一个标准的点分十进制的 IP 地址和一个 CIDR 掩码长度。 (IP 地址只能用数值声明,不能用域或者主机名。) 掩码长度表示客户端 IP 地址必须匹配的高位二进制位数。 在给出的 IP 地址里,这个长度的右边的二进制位必须为零。 在 IP 地址,/,和 CIDR

      6、 掩码长度之间不能有空白。 典型的 CIDR 地址是 172.20.143.89/32,这表明一个主机, 或者 172.20.143.0/24 表示一个网络。 要声明单个主机,给 IPv4 地址声明 CIDR 掩码 32,给 IPv6 地址声明 128。 以 IPv4 格式给出的 IP 地址会匹配那些拥有对应地址的 IPv6 连接,比如 127.0.0.1 将匹配 IPv6 地址 :ffff:127.0.0.1。 一个以 IPv6 格式给出的记录将只匹配 IPv6 连接,即使对应的地址在 IPv4-in-IPv6 范围内。请注意如果系统的 C 库不支持 IPv6 地址,那么 IPv6 的格式将被拒绝。 这个域只适用于 host,hostssl 和 hostnossl 记录。 IP-addressIP-mask这 些方法可以用于作为 CIDR-address 表示法的替补。 它不是声明掩码的长度,而是在另外一个字段里声明实际的掩码。 比如,255.0.0.0 表示 IPv4 CIDR 掩码长度 8,而 255.255.255.255 表示 CIDR 掩码长度 32。 同样的匹配逻辑将用于

      7、一个点分的 IP-mask。 这些字段只适用于 host, hostssl, 和 hostnossl 记录。 authentication-method(认证方法)声明通过这条记录联接的时候使用的认证方法。 可能的选择在下面简介,trust无条件地允许联接。这个方法允许任何可以与PostgreSQL 数据库服务器联接的用户以他们期望的任意 PostgreSQL 数据库用户身份进行联接,而不需要口令。 reject联接无条件拒绝。常用于从一个组中过滤某些主机。 md5要求客户端提供一个 MD5 加密的口令进行认证。 crypt要求客户端提供一个 crypt() 加密的口令用于认证。 7.2 以前的客户端只能支持 crypt。 对于 7.2 以及以后的客户端,我们建议使用 md5。 password要求客户端提供一个未加密的口令进行认证。 因为口令是以明文形式在网络上传递的, 所以我们不应该在不安全的网络上使用这个方式。 krb4用 Kerberos V4 认证用户。只有在进行 TCP/IP 联接的时候才能用。 (译注:Kerberos,克尔波洛斯,故希腊神话冥王哈得斯的多头看门狗。 Ke

      8、rberos 是 MIT 开发出来的基与对称加密算法的认证协议和/或密钥交换方法。 其特点是需要两个不同用途的服务器,一个用于认证身份, 一个用于通道两端用户的密钥交换。同时 Kerberos 对网络时间同步要求比较高,以防止回放攻击,因此通常伴随 NTP 服务。) krb5用 Kerberos V5 认证用户。只有在进行 TCP/IP 联接的时候才能用。 (译注:Kerberos V5 是上面 V4 的改良,主要是不再依赖 DES 算法, 同时增加了一些新特性。) ident获 取客户的操作系统名(对于 TCP/IP 联接,用户的身份是通过与运行在客户端上的 ident 服务器联接进行判断的,对于本地联接,它是从操作系统获取的。) 然后检查一下,看看用户是否允许以要求的数据库用户进行联接, 方法是参照在 ident 关键字后面声明的映射。 pam使用操作系统提供的可插入的认证模块服务 (Pluggable Authentication Modules) (PAM)来认证。authentication-option这个可选的字段的含义取决与选择的认证方法。细节在下面。 用 构造包含的文

      9、件是当作一列名字读取的, 这些名字可以用空白或者逗号分隔。注释用 # 引入, 就像在 pg_hba.conf 里那样,允许嵌套 构造。 除非跟在 后面的文件名是一个绝对路径,否则被当作与包含该文件的目录相对的路径。 因为认证时系统是为每个联接请求顺序检查 pg_hba.conf 里的记录的,所以这些记录的顺序是非常关键的。 通常,靠前的记录有比较严的联接匹配参数和比较弱的 认证方法,而靠后的记录有比较松的匹配参数和比较严的认证方法。 比如,我们一般都希望对本地 TCP/IP 联接使用 trust 认证, 而对远端的 TCP/IP 联接要求口令。在这种情况下我们将 trust 认证方法用于来自 127.0.0.1 的联接,这条记录将出现在允许更广泛的客户端 IP 地址的使用口令认证的记录前面。 在启动和主服务器进程( postmaster )收到SIGHUP 信号的时候, 系统都会重新装载 pg_hba.conf 文件。 如果你在活跃的系统上编辑了该文件,你就需要用 kill 向 postmaster 发一个 SIGHUP信号,好让它重新读取该文件。 在 pg_hba.conf 记录的一些例子。 阅读下文理解不同认证方法的细节。 pg_hba.conf 记录的例子# 允许在本机上的任何用户使用 Unix 域套接字(本地连接的缺省)# 以任何身份联接任何数据库# # TYPE DATABASE USER CIDR-ADDRESS METHODlocal all all

      《postgresql数据库pg》由会员pu****.1分享,可在线阅读,更多相关《postgresql数据库pg》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.