国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【PG】PostgreSQL客戶端認證pg_hba.conf文件

這篇具有很好參考價值的文章主要介紹了【PG】PostgreSQL客戶端認證pg_hba.conf文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

文件格式

?連接類型(TYPE)

數(shù)據(jù)庫(database)

用戶(user)

連接地址(address)

格式

IPv4

IPv6

字符

主機名

主機名后綴

IP-address/IP-mask

auth-method

trust

reject

scram-sha-256

md5

password

gss

sspi

ident

peer

ldap

radius

cert

pam

bsd

auth-options

示例


用戶在連接到PG數(shù)據(jù)庫之前首先要經(jīng)過文件的驗證,可以理解為建立連接之前的白名單或者客戶端認證

客戶端認證是由一個配置文件(通常名為pg_hba.conf并被存放在數(shù)據(jù)庫集簇目錄中)控制(HBA表示基于主機的認證)。在initdb初始化數(shù)據(jù)目錄時,它會安裝一個默認的pg_hba.conf文件。不過我們也可以把認證配置文件放在其它地方; 參閱hba_file配置參數(shù)。

文件格式

pg_hba.conf文件的常用格式是一組記錄,每行一條。空白行將被忽略,?#注釋字符后面的任何文本也被忽略。記錄不能跨行。一條記錄由若干用空格 和/或制表符分隔的域組成。如果域值用雙引號包圍,那么它可以包含空白。在數(shù)據(jù)庫、用戶或地址域中 引用一個關鍵字(例如,allreplication)將使該詞失去其特殊 含義,并且只是匹配一個有該名字的數(shù)據(jù)庫、用戶或主機。

每條記錄指定一種連接類型、一個客戶端 IP 地址范圍(如果和連接類型相關)、一個數(shù)據(jù)庫名、一個用戶名以及對匹配這些參數(shù)的連接使用的認證方法。第一條匹配連接類型、客戶端地址、連接請求的數(shù)據(jù)庫和用戶名的記錄將被用于執(zhí)行認證。這個過程沒有“落空”或者“后備”的說法:如果選擇了一條記錄而且認證失敗,那么將不再考慮后面的記錄。如果沒有匹配的記錄,那么訪問將被拒絕。

【PG】PostgreSQL客戶端認證pg_hba.conf文件,PG,postgresql,數(shù)據(jù)庫

?連接類型(TYPE)

第一個字段是客戶端連接server的類型,分為:

含義
local

這條記錄匹配企圖使用 Unix 域套接字的連接。 如果沒有這種類型的記錄,就不允許 Unix 域套接字連接。

host

這條記錄匹配企圖使用 TCP/IP 建立的連接。?host記錄匹配SSL和非SSL的連接嘗試, 此外還有GSSAPI?加密的或non-GSSAPI?加密的連接嘗試。

hostssl

這條記錄匹配企圖使用 TCP/IP 建立的連接,但必須是使用SSL加密的連接。

要使用這個選項,編譯服務器的時候必須打開SSL支持。此外,在服務器啟動的時候必須通過設置ssl配置參數(shù)(詳見第?18.9?節(jié))打開SSL。否則,hostssl記錄會被忽略,并且會記錄一個警告說它無法匹配任何連接。

hostnossl

這條記錄的行為與hostssl相反;它只匹配那些在 TCP/IP上不使用SSL的連接

hostnogssenc

這條記錄匹配企圖使用TCP/IP建立的連接,但僅當使用GSSAPI加密建立連接時

要使用這個選項,服務器必須具備GSSAPI支持。 否則,除了記錄無法匹配任何連接的警告以外,hostgssenc記錄將被忽略。

注意使用GSSAPI加密時能夠支持的authentication methods?包括?gss,reject,和?trust.

hostnogssenc

這個記錄類型具有與hostgssenc相反的表現(xiàn); 它僅匹配通過不使用GSSAPI加密的TCP/IP進行的連接嘗試。

數(shù)據(jù)庫(database)

指定記錄所匹配的數(shù)據(jù)庫名稱。

  • all指定該記錄匹配所有數(shù)據(jù)庫
  • sameuser指定如果被請求的數(shù)據(jù)庫和請求的用戶同名,則匹配
  • samerole指定請求的用戶必須是一個與數(shù)據(jù)庫同名的角色中的成員samegroup是一個已經(jīng)廢棄了,但目前仍然被接受的samerole同義詞)。 對于一個用于samerole目的的角色,超級用戶不會被考慮為其中的成員,除非它們是該角色的顯式成員(直接或間接),而不是由于超級用戶的原因。
  • replication指定如果一個物理復制連接被請求則該記錄匹配(注意復制連接不指定任何特定的數(shù)據(jù)庫)。
  • 在其它情況里,這就是一個特定的PostgreSQL數(shù)據(jù)庫名字。 可以通過用逗號分隔的方法指定多個數(shù)據(jù)庫,也可以通過在文件名前面放@來指定一個包含數(shù)據(jù)庫名的文件。

用戶(user)

指定這條記錄匹配哪些數(shù)據(jù)庫用戶名。

all指定它匹配所有用戶。 否則,它要么是一個特定數(shù)據(jù)庫用戶的名字或者是一個有前導+的組名稱(回想一下,在PostgreSQL里,用戶和組沒有真正的區(qū)別,+實際表示“匹配這個角色的任何直接或間接成員角色”,而沒有+記號的名字只匹配指定的角色)。 出于這個目的,如果超級用戶顯式的是一個角色的成員(直接或間接),那么超級用戶將只被認為是該角色的一個成員而不是作為一個超級用戶。 多個用戶名可以通過用逗號分隔的方法提供。一個包含用戶名的文件可以通過在文件名前面加上@來指定。

連接地址(address)

指定這個記錄匹配的客戶端機器地址。這個域可以包含一個主機名、一個 IP 地址范圍或下文提到的特殊關鍵字之一。

格式

一個 IP 地址范圍以該范圍的開始地址的標準數(shù)字記號指定,然后是一個斜線(/) 和一個CIDR掩碼長度。掩碼長度表示客戶端 IP 地址必須匹配的高序二進制位位數(shù)。 在給出的 IP 地址中,這個長度的右邊的二進制位必須為零。 在 IP 地址、/和 CIDR 掩碼長度之間不能有空白。

IPv4

這種方法指定一個 IPv4 地址范圍的典型例子是:?172.20.143.89/32用于一個主機,?172.20.143.0/24用于一個小型網(wǎng)絡,?10.6.0.0/16用于一個大型網(wǎng)絡。

IPv6

一個單主機的 IPv6 地址范圍看起來像這樣:::1/128(IPv6 回環(huán)地址), 一個小型網(wǎng)絡的 IPv6 地址范圍則類似于:fe80::7a31:c1ff:0000:0000/96。?

0.0.0.0/0表示所有 IPv4 地址,并且::0/0表示所有 IPv6 地址。 要指定一個單一主機,IPv4 用一個長度為 32 的 CIDR 掩碼或者 IPv6 用長度為 128 的 CIDR 掩碼。在一個網(wǎng)絡地址中,不要省略結(jié)尾的零。

一個以 IPv4 格式給出的項將只匹配 IPv4 連接并且一個以 IPv6 格式給出的項將只匹配 IPv6 連接,即使對應的地址在 IPv4-in-IPv6 范圍內(nèi)。 請注意如果系統(tǒng)的 C 庫不支持 IPv6 地址,那么 IPv6 格式中的項將被拒絕。

字符
  • 你也可以寫all來匹配任何 IP 地址、
  • samehost來匹配任何本服務器自身的 IP 地址或者
  • samenet來匹配本服務器直接連接到的任意子網(wǎng)的任意地址。
主機名

若果指定了一個主機名(任何除 IP 地址單位或特殊關鍵字之外的都被作為主機名處理), 該名稱會與客戶端的 IP 地址的反向名字解析(例如使用 DNS 時的反向 DNS 查找)結(jié)果進行比較。 主機名比較是大小寫敏感的。如果匹配上,那么將在主機名上執(zhí)行一次正向名字解析(例如正向 DNS 查找)來檢查它解析到的任何地址是否等于客戶端的 IP 地址。如果兩個方向都匹配,則該項被認為匹配(pg_hba.conf中使用的主機名應該是客戶端 IP 地址的地址到名字解析返回的結(jié)果,否則該行將不會匹配。某些主機名數(shù)據(jù)庫允許將一個 IP 地址關聯(lián)多個主機名,但是當被要求解析一個 IP 地址時,操作系統(tǒng)將只返回一個主機名)。

主機名后綴

一個以點號(.)開始的主機名聲明匹配實際主機名的后綴。 因此.example.com將匹配foo.example.com(但不匹配example.com)。

當主機名在pg_hba.conf中被指定時,你應該保證名字解析很快。 建立一個類似nscd的本地名字解析緩存是一種不錯的選擇。 另外,你可能希望啟用配置參數(shù)log_hostname來在日志中查看客戶端的主機名而不是 IP 地址。

這個域不適用于local記錄。

IP-address/IP-mask

這兩個域可以被用作IP-address/?mask-length記號法的替代方案。和指定掩碼長度不同,實際的掩碼被指 定在一個單獨的列中。例如,255.0.0.0表示 IPv4 CIDR 掩碼長度 8,而255.255.255.255表示 CIDR 掩碼長度 32。

這些域不適用于local記錄。

auth-method

指定當一個連接匹配這個記錄時,要使用的認證方法。下面對可能的選擇做了概述,詳見第?20.3?節(jié)。

trust

無條件地允許連接。這種方法允許任何可以與PostgreSQL數(shù)據(jù)庫服務器連接的用戶以他們期望的任意PostgreSQL數(shù)據(jù)庫用戶身份登入,而不需要口令或者其他任何認證。詳見第?20.4?節(jié)。

reject

無條件地拒絕連接。這有助于從一個組中“過濾出”特定主機,例如一個reject行可以阻塞一個特定的主機連接,而后面一行允許一個特定網(wǎng)絡中的其余主機進行連接。

scram-sha-256

執(zhí)行SCRAM-SHA-256認證來驗證用戶的口令。詳見第?20.5?節(jié)。

md5

執(zhí)行SCRAM-SHA-256或MD5認證來驗證用戶的口令。詳見第?20.5?節(jié)。

password

要求客戶端提供一個未加密的口令進行認證。因為口令是以明文形式在網(wǎng)絡上發(fā)送的,所以我們不應該在不可信的網(wǎng)絡上使用這種方式。詳見第?20.5?節(jié)。

gss

用 GSSAPI 認證用戶。只對 TCP/IP 連接可用。詳見第?20.6?節(jié),它可以與 GSSAPI 加密一起結(jié)合使用。

sspi

用 SSPI 來認證用戶。只在 Windows 上可用。詳見第?20.7?節(jié)。

ident

通過聯(lián)系客戶端的 ident 服務器獲取客戶端的操作系統(tǒng)名,并且檢查它是否匹配被請求的數(shù)據(jù)庫用戶名。Ident 認證只能在 TCIP/IP 連接上使用。當為本地連接指定這種認證方式時,將用 peer 認證來替代。詳見第?20.8?節(jié)。

peer

從操作系統(tǒng)獲得客戶端的操作系統(tǒng)用戶,并且檢查它是否匹配被請求的數(shù)據(jù)庫用戶名。這只對本地連接可用。詳見第?20.9?節(jié)。

ldap

使用LDAP服務器認證。詳見第?20.10?節(jié)。

radius

用 RADIUS 服務器認證。詳見第?20.11?節(jié)。

cert

使用 SSL 客戶端證書認證。詳見第?20.12?節(jié)。

pam

使用操作系統(tǒng)提供的可插入認證模塊服務(PAM)認證。詳見第?20.13?節(jié)。

bsd

使用由操作系統(tǒng)提供的 BSD 認證服務進行認證。詳見第?20.14?節(jié)。

auth-options

auth-method域的后面, 可以是形如name=value的域,它們指定認證方法的選項。 關于哪些認證方法可以用哪些選項的細節(jié)請見下文。

除了下文列出的與方法相關的選項之外,還有一個與方法無關的認證選項clientcert,它可以在任何hostssl記錄中指定。 這個選項可以被設置到verify-caverify-full. 這兩個選項都需要客戶端提供有效的(受信任的)SSL證書,并且verify-full額外強制證書中的cn(通用名稱)匹配用戶名或適用的映射。 這種行為類似于cert認證方法 (參見?第?20.12?節(jié)), 但是允許客戶端證書的驗證與任何支持hostssl登記的認證方法相搭配。文章來源地址http://www.zghlxwxcb.cn/news/detail-717766.html

示例

# 允許本地系統(tǒng)上的任何用戶
# 通過 Unix 域套接字以任意
# 數(shù)據(jù)庫用戶名連接到任意數(shù)據(jù)庫(本地連接的默認值)。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     trust

# 相同的規(guī)則,但是使用本地環(huán)回 TCP/IP 連接。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             127.0.0.1/32            trust

# 和前一行相同,但是使用了一個獨立的掩碼列
#
# TYPE  DATABASE        USER            IP-ADDRESS      IP-MASK             METHOD
host    all             all             127.0.0.1       255.255.255.255     trust

# IPv6 上相同的規(guī)則
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             ::1/128                 trust

# 使用主機名的相同規(guī)則(通常同時覆蓋 IPv4 和 IPv6)。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             localhost               trust

# 允許來自任意具有 IP 地址192.168.93.x 的主機上任意
# 用戶以 ident 為該連接所報告的相同用戶名連接到
# 數(shù)據(jù)庫 "postgres"(通常是操作系統(tǒng)用戶名)。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    postgres        all             192.168.93.0/24         ident

# 如果用戶的口令被正確提供,允許來自主機 192.168.12.10
# 的任意用戶連接到數(shù)據(jù)庫 "postgres"。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    postgres        all             192.168.12.10/32        scram-sha-256

# 如果用戶的口令被正確提供,允許 example.com 中主機上
# 的任意用戶連接到任意數(shù)據(jù)庫。
#
# 為大部分用戶要求SCRAM認證,但是用戶'mike'是個例外,
# 他使用的是不支持SCRAM認證的舊客戶端。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             mike            .example.com            md5
host    all             all             .example.com            scram-sha-256

# 如果沒有前面的 "host" 行,這三行
# 將拒絕所有來自 192.168.54.1的連接(因為那些項將首先被匹配),
# 但是允許來自互聯(lián)網(wǎng)其他任何地方的
# GSSAPI-encrypted連接。零掩碼導致主機IP 地址中的所有位都不會被考慮,
# 因此它匹配任意主機。未加密GSSAPI連接
# (which "跳轉(zhuǎn)"到第三行是因為"hostgssenc" 僅匹配加密的 GSSAPI 連接) 是被允許的,但只能來自192.168.12.10.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.54.1/32         reject
hostgssenc all          all             0.0.0.0/0               gss
host    all             all             192.168.12.10/32        gss

# 允許來自 192.168.x.x 主機的用戶連接到任意數(shù)據(jù)庫,如果它們能夠
# 通過 ident 檢查。例如,假設 ident說用戶是 "bryanh" 并且他要求以
# PostgreSQL 用戶 "guest1" 連接,如果在 pg_ident.conf 有一個映射
# "omicron" 的選項說 "bryanh" 被允許以 "guest1" 連接,則該連接將被允許。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.0.0/16          ident map=omicron

# 如果這些是本地連接的唯一三行,它們將允許本地用戶只連接到它們
# 自己的數(shù)據(jù)庫(與其數(shù)據(jù)庫用戶名同名的數(shù)據(jù)庫),不過管理員和角
# 色 "support" 的成員除外(它們可以連接到所有數(shù)據(jù)庫)。文件
# $PGDATA/admins 包含一個管理員名字的列表。在所有情況下都要求口令。
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   sameuser        all                                     md5
local   all             @admins                                 md5
local   all             +support                                md5

# 上面的最后兩行可以被整合為一行:
local   all             @admins,+support                        md5

# 數(shù)據(jù)庫列也可以用列表和文件名:
local   db1,db2,@demodbs  all                                   md5

到了這里,關于【PG】PostgreSQL客戶端認證pg_hba.conf文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Spring Security—OAuth2 客戶端認證和授權(quán)

    關于 JWT Bearer 客戶端認證的進一步詳情,請參考OAuth 2.0客戶端認證和授權(quán)許可的?JSON Web Token (JWT)簡介。 JWT Bearer 客戶端認證的默認實現(xiàn)是? NimbusJwtClientAuthenticationParametersConverter ,它是一個? Converter ,通過在? client_assertion ?參數(shù)中添加簽名的JSON Web Token(JWS)來定制令牌請求

    2024年02月08日
    瀏覽(25)
  • 【PG】PostgreSQL字符集

    目錄 設置字符集 1 設置集群默認的字符集編碼 2 設置數(shù)據(jù)庫的字符集編碼 查看字符集 1 查看數(shù)據(jù)字符集編碼? 2 查看服務端字符集 3 查看客戶端字符集 4 查看默認的排序規(guī)則和字符分類 ?被支持的字符集 PostgreSQL里面的字符集支持你能夠以各種字符集存儲文本,包括 單字節(jié)字

    2024年02月08日
    瀏覽(24)
  • 【PG】PostgreSQL 模式(Schema)

    【PG】PostgreSQL 模式(Schema)

    目錄 1 Schema的概念 database schema table之間的關系? 引入schema的原因 創(chuàng)建Schema 查看Schema 刪除Schema 2 Public Schema 3 Schema的索索路徑 4 Schema 與 權(quán)限 5 系統(tǒng)Catalog Schema 6?使用方式(最佳實踐) 7?可移植性 一個PostgreSQL數(shù)據(jù)庫集群中包含一個或更多的數(shù)據(jù)庫。 角色和一些其他對象類型

    2024年02月05日
    瀏覽(31)
  • 【Kafka】Kafka客戶端認證失敗:Cluster authorization failed.

    【Kafka】Kafka客戶端認證失?。篊luster authorization failed.

    kafka客戶端是公司內(nèi)部基于spring-kafka封裝的 spring-boot版本:3.x spring-kafka版本:2.1.11.RELEASE 集群認證方式:SASL_PLAINTEXT/SCRAM-SHA-512 經(jīng)過多年的經(jīng)驗,以及實際驗證,配置是沒問題的,但是業(yè)務方反饋用相同的配置,還是報錯! 封裝的kafka客戶端版本過低,高版本的配置項:secu

    2024年01月17日
    瀏覽(22)
  • Zookeeper中的客戶端配置認證(zoo_client.conf)

    Zookeeper中的客戶端配置認證可以使用兩種方法:digest和Kerberos。 客戶端鑒權(quán)配置 該配置是用于啟用Zookeeper SASL認證提供程序的選項,它是Zookeeper中一種基于Kerberos的身份驗證方式。SASL(Simple Authentication and Security Layer)是一種通用的安全聯(lián)接層協(xié)議,通常用于安全認證。 具體

    2024年02月13日
    瀏覽(33)
  • MQTT EMQX v5.0版本監(jiān)聽客戶端上下線通知、認證、授權(quán)

    MQTT EMQX v5.0版本監(jiān)聽客戶端上下線通知、認證、授權(quán)

    之前在自助洗車項目中使用emqx的是4.4版本,最新部署的時候采用了5.0。 舊版本認證、上下線通知等都需要開啟插件,在配置文件修改,操作比較麻煩。 升級后增強了dashboard(web管理界面),好多插件都成為內(nèi)置插件,無需開啟,且很多操作無需進入配置文件,直接在web即可

    2024年02月09日
    瀏覽(21)
  • PostgreSql pg_ctl 命令

    控制 PostgreSQL 服務的工具。 init 或 initdb:調(diào)用initdb命令。詳見initdb。 參數(shù)說明 : -c 或 --core-files :生成服務器崩潰產(chǎn)生核心文件。 -D datadir 或 --pgdata=datadir :指定數(shù)據(jù)庫數(shù)據(jù)文件位置。如果這個選項被忽略,將使用環(huán)境變量 PGDATA。 -l filename 或 --log=filename :追加服務器日志

    2024年02月14日
    瀏覽(22)
  • PostgreSQL實戰(zhàn)-pg13主從復制切換測試

    修改/etc/profile文件, 添加如下內(nèi)容: 清空數(shù)據(jù)表數(shù)據(jù) 主庫清空數(shù)據(jù)表數(shù)據(jù) 從庫對應的數(shù)據(jù)表也會被清空 新增數(shù)據(jù)表數(shù)據(jù) 主庫數(shù)據(jù)表插入數(shù)據(jù)一行 從庫數(shù)據(jù)表也會插入一行 刪除數(shù)據(jù)表數(shù)據(jù)

    2024年02月15日
    瀏覽(27)
  • Kafka增加安全驗證安全認證,SASL認證,并通過spring boot-Java客戶端連接配置

    公司Kafka一直沒做安全驗證,由于是誘捕程序故需要面向外網(wǎng)連接,需要增加Kafka連接驗證,保證Kafka不被非法連接,故開始研究Kafka安全驗證 使用Kafka版本為2.4.0版本,主要參考官方文檔 官網(wǎng)對2.4版本安全驗證介紹以及使用方式地址: https://kafka.apache.org/24/documentation.html#secu

    2024年02月01日
    瀏覽(93)
  • 【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

    【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

    由于PostgreSQL數(shù)據(jù)庫模式(schema)存在多個,原先的表單是默認采用public但是查詢表和字段時候有查詢所有未進行過濾,導致數(shù)據(jù)庫連接失敗、查表字段也為空(空即查詢服務端異常錯誤) 數(shù)據(jù)庫連接配置 添加參數(shù)補充 ?currentSchema=dwd 譬如: username=root;password=XXXX;url=jdbc:postg

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包