PostgreSQL啟動過程中的那些事十五.一:pg_hba.conf的用法
阿新 • • 發佈:2019-02-15
例20-1. pg_hba.conf 記錄的例子
# Allow any user on the local system to connect to any database under # 允許在本機上的任何使用者使用 Unix 域套接字(本地連線的預設)以任何資料庫使用者身份連線任何資料庫 # TYPE DATABASE USER CIDR-ADDRESS METHOD local all all trust # 和上面相同,但是使用的是迴環的(loopback)TCP/IP 連線 # TYPE DATABASE USER CIDR-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 # 允許 IP 地址為 192.168.93.x 的任何主機與 "postgres" 資料庫相連, # 用與他們在自己的主機上相同 ident 的使用者名稱標識他自己(通常是他的 Unix 使用者名稱) # TYPE DATABASE USER CIDR-ADDRESS METHOD host postgres all 192.168.93.0/24 ident sameuser # 允許來自主機 192.168.12.10 的使用者提供了正確的口令之後與 "postgres" 資料庫連線。 # TYPE DATABASE USER CIDR-ADDRESS METHOD host postgres all 192.168.12.10/32 md5 # 如果前面沒有其它 "host" 行,那麼下面兩行將拒絕所有來自 192.168.54.1 的連線請求(因為前面的記錄先匹配)。 # 但是允許來自網際網路上其它任何地方的有效的 Kerberos 5 認證的連線。 # 零掩碼錶示不考慮主機 IP 的任何位。因此它匹配任何主機。 # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 192.168.54.1/32 reject host all all 0.0.0.0/0 krb5 # 允許來自 192.168.x.x 的任何使用者與任意資料庫連線,只要他們通過 ident 檢查。 # 但如果 ident 說該使用者是 "bryanh" 且他要求以 PostgreSQL 使用者 "guest1" 連線, # 那麼只有在 pg_ident.conf 裡有 "omicron" 的對映說 "bryanh" 允許以 "guest1" 進行連線時才真正可以進行連線。 # TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 192.168.0.0/16 ident omicron # 如果下面是用於本地連線的僅有的三行,那麼它們將允許本地使用者只和同名數據庫連線。 # 只有管理員和 "support" 角色裡的成員例外,他們可以連線到任何資料庫。 # $PGDATA/admins 檔案列出了那些允許與所有資料庫連線的使用者名稱。 # 在所有情況下都需要口令。 # TYPE DATABASE USER CIDR-ADDRESS METHOD local sameuser all md5 local all @admins md5 local all support md5 # 上面最後兩行可以合起來寫成一行 local all @admins, support md5 # 資料庫欄位也可以使用列表和檔名: local db1,db2,@demodbs all md5