我想創建一個只能訪問postgres服務器上的一個數據庫的postgres用戶。如何防止用戶能夠查看其他數據庫和其他數據庫中的表?
目前我的流程是:
create database database1;
create user user1 with password 'pass';
grant all privileges on database database1 to user1;
但USER1仍然可以看到的星展銀行,用戶,表等的列表是否有辦法防止用戶看到這些信息?用戶需要能夠寫入和讀取該數據庫。
非常感謝。
用戶將在我們身邊創建dbs。我們不希望用戶能夠看到每個其他數據庫,表名稱等作爲數據隱私/安全措施。 – Dan 2010-07-29 19:14:56
當用戶可以列出數據庫中的表時,這是一件壞事,而這些數據庫不是他們的。 – harmv 2013-07-15 14:58:04
它給出了不確定需要的數據。例如,名爲*「cicallc」*的數據庫可能表明「Cica Llc」是您的客戶。以下名爲「cicaalfresco」的數據庫可能會指出他們在做什麼。您的系統可能會顯示數據庫的數量,其中有多少用戶(=客戶)。等等。這是postgresql開發人員的概念錯誤。一個普通用戶應該發現自己處於一個環境中,在這個環境中,他只能訪問*任何他必須訪問的東西,而不能訪問它。 – peterh 2017-04-19 14:02:23