专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
  • --->
当前位置: 网站首页 > pg大讲堂 > PostgreSQL技术大讲堂 - 第49讲:实例层连接访问控制

PostgreSQL技术大讲堂 - 第49讲:实例层连接访问控制

文章来源: 更新时间:2024/4/23 15:41:13

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询


PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。


第49讲:实例连接访问控制


内容1:PostgreSQL实例访问控制概述

内容2:pg_hba.conf文件配置


PostgreSQL实例访问控制概述

实例访问控制就像是一道防火墙,用它来控制来自于不同主机、不同用户是否允许访问指定的数据库、以及验证方式。


pg_hba.conf文件

· 客户端认证是由一个配置文件(通常名为pg_hba.conf并被存放在数据目录中)控制(HBA表示基于主机的认证)。

· 在initdb初始化数据目录时,它会安装一个默认的pg_hba.conf文件。不过我们也可以把认证配置文件放在其它地方。

· pg_hba.conf文件的常用格式是一组记录,每行一条。空白行将被忽略, #注释字符后面的任何文本也被忽略。记录不能跨行。

· 一条记录由若干用空格/或制表符分隔的域组成。如果域值用双引号包围,那么它可以包含空格。在数据库、用户或地址域中 引用一个关键字(例如,all或replication)将使该词失去其特殊 含义,并且只是匹配一个有该名字的数据库、用户或主机。

名单格式

    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地址或者网段

    pg_hba.conf 示例:

        host all +g1 0.0.0.0/0 md5 #g1组

        host all u1 192.168.18.0/24 md5 #某个网段

    METHOD:指定验证方式

        trust:信任客户端连接,无需提供密码

        scram-sha-256:这是当前提供的方法中最安全的一种,但是旧的客户端库不支持这种方法。

        md5:它能防止口令嗅探并且防止口令在服务器上以明文存储,但是无法保护攻击者想办法从服务器上窃取了口令哈希的情况。

        password:方法password以明文形式发送口令,因此它对于口令“嗅探”攻击很脆弱。

        ident:该模式下系统会将请求发起者的操作系统用户映射为PostgesSQL数据库内部用户,并且登录时只能用映射的用户登录,实现操作系统和数据库双验证。操作系统用户与数据库内部用户之间的映射关系会记录在pg_ident.conf文件中。

        peer:该模式使用连接发起端的操作系统名进行身份验证。仅限于Linux、BSD、Mac OS X和Solaris,并且仅可用于本地服务器发起的连接。

        reject:该模式表示拒绝所有请求。


常见配置实例

    # TYPE DATABASE USER ADDRESS METHOD

    # "local" is for Unix domain socket connections only

    local all all trust

    # IPv4 local connections:

    host all all 127.0.0.1/32 trust

    # IPv6 local connections:

    host all all ::1/128 trust

    # Allow replication connections from localhost, by a user with the

    # replication privilege.

    local replication all trust

    host replication all 127.0.0.1/32 trust

    host replication all ::1/128 trust

    host all +g1 192.168.18.0/24 md5

    host all all 0.0.0.0/0 ident map=cuug

常见配置实例

# MAPNAME SYSTEM-USERNAME PG-USERNAME

mapcuug cuugsys cuugpg


-->> 以上就是【PostgreSQL从小白到专家】第49讲:实例连接访问控制 的内容,欢迎一起探讨交流,往期视频及文档,联系CUUG客服

本文地址:http://www.cuug.com.cn/pgdjt/37010767624.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1