一、postgreSQL認證文件
pg_hba.conf
配置文件pg_hba.conf的位置,通常情況下的路徑是
/etc/postgresql/[VERSION]/main/pg_hba.conf
二、配置文件的內容
# 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
三、認證方式參數
- 1.trust
無條件的允許連接。這種方法允許任何可以與PostgreSQL數據庫服務器連接的主機以任意PostgreSQL數據庫用戶身份登入,而不需要口令或者其他任何認證。也就是當配置文件(pg_hba.conf)中的method為trust時,則配置文件(pg_hba.conf)中指定的IP主機可以以任何的數據庫用戶名登錄而不需要密碼
- 2.reject
無條件地拒絕連接。這有助於從一個組中“過濾出”特定主機,例如一個reject行可以阻塞一個特定的主機連接,而后面一行允許一個特定網絡中的其余主機進行連接。
- 3.md5
要求客戶端提供一個MD5加密的口令進行認證。
- 4.password
要求客戶端提供一個未加密的口令進行認證。因為口令是以明文形式在網絡上發送的,所以我們不應該在不可信的網絡上使用這種方式
- 5.ident
通過聯系客戶端的ident服務器獲取客戶端的操作系統名,並且檢查它是否匹配被請求的數據庫用戶名。ident認證只能在TCP/IP連接上使用。當為本地連接指定這種認證方式時,將用peer認證來替代(遠程操作系統的當前用戶名和數據庫的用戶名一致時,可以直接使用此用戶名登錄而不需要密碼)
- 6.peer
從操作系統獲得客戶端的操作系統用戶,並且檢查它是否匹配被請求的數據庫用戶名。這只對本地連接可用。(本地操作系統的當前用戶名和數據庫的用戶名一致時,可以直接使用此用戶名登錄而不需要密碼)
- 7.gss
用 GSSAPI 認證用戶。只對TCP/IP 連接可用。
- 8.sspi
用 SSPI 來認證用戶。只在Windows 上可用。
- 9.idap
使用LDAP服務器認證。
- 10.radius
用 RADIUS 服務器認證。
- 11.cert
使用 SSL 客戶端證書認證。
- 12.pam
使用操作系統提供的可插入認證模塊服務(PAM)認證。
- 13.bsd
使用由操作系統提供的 BSD 認證服務進行認證。