postgreSQL 認證方式


postgreSQL的認證配置文件

pg_hba.conf

配置文件pg_hba.conf的位置

pg_hba.conf可以出現在許多其他地方,具體取決於Pg的安裝方式。

通常情況下路徑為

/etc/postgresql/[VERSION]/main/pg_hba.conf

通過shell命令獲得(此命令必須使用同具有超級用戶權限的數據庫用戶名相同的操作系統用戶名,例如postgres,sudo su postgres)

psql -t -P format=unaligned -c 'show hba_file';

通過posqgreSQL控制台命令show hba_file獲得

postgres=# show hba_file;
              hba_file               
-------------------------------------
 /etc/postgresql/12/main/pg_hba.conf
(1 row)

 

配置文件的內容范例

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident

 

認證方式詳解(METHOD)

1.trust

無條件地允許連接。這種方法允許任何可以與PostgreSQL數據庫服務器連接的主機以任意PostgreSQL數據庫用戶身份登入,而不需要口令或者其他任何認證。

當hba_file中的method為trust時,則hba_file中指定的IP主機可以以任何的數據庫用戶名登錄而不需要密碼

2.reject

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

3.md5

要求客戶端提供一個 MD5 加密的口令進行認證。

4.password

要求客戶端提供一個未加密的口令進行認證。因為口令是以明文形式在網絡上發送的,所以我們不應該在不可信的網絡上使用這種方式

5.ident

通過聯系客戶端的 ident 服務器獲取客戶端的操作系統名,並且檢查它是否匹配被請求的數據庫用戶名。Ident 認證只能在 TCIP/IP 連接上使用。當為本地連接指定這種認證方式時,將用 peer 認證來替代。

遠程操作系統的當前用戶名和數據庫的用戶名一致時,可以直接使用此用戶名登錄而不需要密碼)

6.peer

從操作系統獲得客戶端的操作系統用戶,並且檢查它是否匹配被請求的數據庫用戶名。這只對本地連接可用

本地操作系統的當前用戶名和數據庫的用戶名一致時,可以直接使用此用戶名登錄而不需要密碼

7. gss
用 GSSAPI 認證用戶。只對TCP/IP 連接可用。

8.sspi
用 SSPI 來認證用戶。只在Windows 上可用。

9.ldap
使用LDAP服務器認證。

10.radius
用 RADIUS 服務器認證。

11.cert
使用 SSL 客戶端證書認證。

12.pam
使用操作系統提供的可插入認證模塊服務(PAM)認證。

13.bsd
使用由操作系統提供的 BSD 認證服務進行認證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM