1. 程式人生 > >Postgresql pg_hba.conf配置檔案小結

Postgresql pg_hba.conf配置檔案小結

Postgresql資料庫pg_hba.conf配置檔案小結

PG資料庫的pg_hba.conf配置檔案中儲存著和連線相關的許可權配置,檔案存放在Data目錄下。檔案中每一行為一條配置,每條配置中包括連線型別資料庫使用者客戶端地址認證方式幾個欄位。

上述欄位對應配置檔案中的TYPE、DATABASE、USER、ADDRESS、METHOD欄位。

下面分別解釋下上述欄位常用的設定:

  • TYPE(連線型別)欄位,該欄位值包括local、host、hostssl、hostnossl。

    local: 只允許本地客戶端登入。

    host: 允許遠端客戶端登入。

    hostssl:允許經過ssl加密的連線。


hostnossl:和hostssl相反,允許未經過ssl加密的連線。
  • DATABASE(資料庫)欄位,該欄位設定所允許連線的資料庫,設定為ALL時,表示允許連線所有資料庫。設定為replication時,表示允許複製連線的請求,如果存在兩個需要同步的資料庫,那麼需要設定replication值。

  • USER(使用者)欄位,該欄位設定允許登入的資料庫使用者,設定為ALL時,表示允許所有使用者登入。

  • ADDRESS(客戶端地址)欄位,設定允許登入的客戶端地址,設定格式為:xxx.xxx.xxx.xxx/n,其中/後的n表示子網掩碼。如192.168.6.1/32,表示IP為192.168.6.1,子網掩碼為255.255.255.255; 192.168.6.0/24表示子網掩碼為255.255.255.0,此時允許192.168.6.0-192.168.6.255範圍內的客戶端地址連結。

  • METHOD(認證方式)欄位,該欄位常用的值包括Trust和MD5,Trust表示不需要口令而允許對應的客戶端連結。MD5表示,客戶端需要使用MD5加密的口令認證連線。

配置示例如下:

host all all 0.0.0.0/0 md5
表示允許地址在0.0.0.0-255.255.255.255範圍內的客戶端,通過MD5加密的密碼,使用任意使用者連線任意資料庫。

host all all 0.0.0.0/0 md5
表示允許地址在0.0.0.0-255.255.255.255範圍內的客戶端,通過MD5加密的密碼,使用任意使用者連線任意資料庫。

建議通過此配置檔案配置客戶端的地址範圍,而具體的資料庫的許可權,建議使用PG的角色許可權管理,風方便也更安全。PG的角色許可權管理後續進行介紹。

參考資料:Postgresql使用者手冊。