PostgreSQL 開始收緊 public 模式訪問權(quán)限!
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
![]() 特性提交日志撤銷從 public 模式創(chuàng)建表的權(quán)限,現(xiàn)在由 pg_database_owner 擁有。 這將默認(rèn)訪問控制列表 (ACL) 切換為自 CVE-2018-1058 以來文檔所推薦的設(shè)置。升級將保留任何舊的所有權(quán)和 ACL。之前未采納 2018 年建議的站點(diǎn)應(yīng)重新審視。從頭開始部署新數(shù)據(jù)庫集群的方案可能需要創(chuàng)建模式、授予更多權(quán)限等。外部測試套件可能需要此類更新。 討論:https://postgr.es/m/20201031163518.GB4039133@rfd.leadboat.com 示例在之前的 PostgreSQL 版本中,默認(rèn)允許任何用戶連接到任何數(shù)據(jù)庫,并在默認(rèn)創(chuàng)建的 "public" 模式中創(chuàng)建新表(以及視圖等)。有一些人認(rèn)為這會產(chǎn)生安全問題,會將 public 模式刪除掉,或者收緊 public 模式的訪問權(quán)限。 但現(xiàn)在情況發(fā)生了變化。在新的 PostgreSQL 版本中,默認(rèn)情況下,非超級用戶賬戶將無法在非其擁有的數(shù)據(jù)庫的 public 模式中創(chuàng)建表。 讓我們來看一下:
上面,我們創(chuàng)建了 test 用戶和兩個(gè)數(shù)據(jù)庫,"x" 數(shù)據(jù)庫由超級用戶擁有,以及由 test 用戶擁有的 "test" 數(shù)據(jù)庫。 當(dāng)我們進(jìn)入兩個(gè)數(shù)據(jù)庫創(chuàng)建表時(shí),結(jié)果如下:
當(dāng)然,你仍然可以向 public 模式授予所有權(quán)限,以保留以前的行為,但默認(rèn)情況下,將不再允許在屬于其他用戶的數(shù)據(jù)庫中創(chuàng)建對象。 非常不錯的特性。感謝社區(qū)的所有相關(guān)人員。 參考提交日志:https://git.postgresql.org/pg/commitdiff/b073c3ccd06e4cb845e121387a43faa8c68a7b62 轉(zhuǎn)自:https://mp.weixin.qq.com/s/a_MnPYVxVjeNZIhtSYV5ZA 該文章在 2025/8/19 10:35:16 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |