-1
我在公開可見的服務器中創建了PostgreSQL數據庫。如何限制來自多個用戶的postgresql中的數據庫
有幾個用戶,但我只希望他們中的2-3個可以訪問系統中的數據庫。所有應該能夠讀取和寫入數據。
那麼如何限制其他用戶呢?可能嗎?
我在公開可見的服務器中創建了PostgreSQL數據庫。如何限制來自多個用戶的postgresql中的數據庫
有幾個用戶,但我只希望他們中的2-3個可以訪問系統中的數據庫。所有應該能夠讀取和寫入數據。
那麼如何限制其他用戶呢?可能嗎?
默認情況下,將連接到數據庫的權限授予public
角色。
因此,您需要做的第一件事就是撤消這個。爲此,請以超級用戶身份登錄到該數據庫(通常爲postgres
),例如
psql -U postgres new_database
然後在SQL提示符下運行:
revoke connect on database new_database from public;
然後,你需要的權限授予每個用戶:
grant connect on database new_database to user_1;
grant connect on database new_database to user_2;
替換new_database
與您創建的數據庫的名稱。
您還可以通過pg_hba.conf
來控制對服務器的訪問,但這有點複雜。詳情請參閱手冊:http://www.postgresql.org/docs/current/static/client-authentication.html