LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

PostgreSQL 開始收緊 public 模式訪問權限!

maoxiaoming
2025年8月19日 10:34 本文熱度 304

你想控制用戶在 public 模式中創建表的權限嗎?

特性提交日志

撤銷從 public 模式創建表的權限,現在由 pg_database_owner 擁有。

這將默認訪問控制列表 (ACL) 切換為自 CVE-2018-1058 以來文檔所推薦的設置。升級將保留任何舊的所有權和 ACL。之前未采納 2018 年建議的站點應重新審視。從頭開始部署新數據庫集群的方案可能需要創建模式、授予更多權限等。外部測試套件可能需要此類更新。

討論:https://postgr.es/m/20201031163518.GB4039133@rfd.leadboat.com

示例

在之前的 PostgreSQL 版本中,默認允許任何用戶連接到任何數據庫,并在默認創建的 "public" 模式中創建新表(以及視圖等)。有一些人認為這會產生安全問題,會將 public 模式刪除掉,或者收緊 public 模式的訪問權限。

但現在情況發生了變化。在新的 PostgreSQL 版本中,默認情況下,非超級用戶賬戶將無法在非其擁有的數據庫的 public 模式中創建表。

讓我們來看一下:

CREATE DATABASE x;
CREATE USER test;
CREATE DATABASE test WITH OWNER test;

上面,我們創建了 test 用戶和兩個數據庫,"x" 數據庫由超級用戶擁有,以及由 test 用戶擁有的 "test" 數據庫。

當我們進入兩個數據庫創建表時,結果如下:

psql -U test -d x -c 'create table a (b int)'
ERROR:  permission denied for schema public
LINE 1: create table a (b int)
                     ^

psql -U test -d test -c 'create table a (b int)'

當然,你仍然可以向 public 模式授予所有權限,以保留以前的行為,但默認情況下,將不再允許在屬于其他用戶的數據庫中創建對象。

非常不錯的特性。感謝社區的所有相關人員。

參考

提交日志:https://git.postgresql.org/pg/commitdiff/b073c3ccd06e4cb845e121387a43faa8c68a7b62

轉自:https://mp.weixin.qq.com/s/a_MnPYVxVjeNZIhtSYV5ZA


該文章在 2025/8/19 10:35:16 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲欧美在线中文字幕不卡 | 一本精品中文字幕在线 | 小早川怜子国内精品久久久久 | 日本不卡高清视频v中文字幕 | 亚洲欧美日本A∨天堂 | 亚洲欧美中文日韩在线v日本 |