當指定 trust
認證時,PostgreSQL 會假設任何可以連線到伺服器的人,都可以使用他們指定的任何資料庫使用者名稱(甚至是超級使用者名稱)來存取資料庫。 當然,database
和 user
欄位中設定的限制仍然適用。 只有在對伺服器的連線有足夠的作業系統層級保護時,才應使用此方法。
trust
認證適用於且非常方便於單使用者工作站上的本機連線。 在多使用者機器上,它通常不適合單獨使用。 但是,如果您使用檔案系統權限限制對伺服器 Unix 網域 Socket 檔案的存取,即使在多使用者機器上,您也可以使用 trust
。 若要執行此操作,請按照第 19.3 節中的描述,設定 unix_socket_permissions
(以及可能的 unix_socket_group
)組態參數。 或者,您可以設定 unix_socket_directories
組態參數,將 Socket 檔案放置在適當限制的目錄中。
設定檔案系統權限僅適用於 Unix Socket 連線。 本機 TCP/IP 連線不受檔案系統權限的限制。 因此,如果您想使用檔案系統權限來提高本機安全性,請從 pg_hba.conf
中移除 host ... 127.0.0.1 ...
行,或將其更改為非 trust
認證方法。
僅當您信任 pg_hba.conf
行指定 trust
所允許連線到伺服器的每台機器上的每個使用者時,trust
認證才適用於 TCP/IP 連線。 除了來自 localhost (127.0.0.1) 的連線外,對任何 TCP/IP 連線使用 trust
很少是合理的。
如果您在文件中發現任何不正確、與您特定功能的使用經驗不符,或需要進一步闡明的地方,請使用此表單回報文件問題。