日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

瀚高数据库企业版中的权限问题

發布時間:2023/12/20 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 瀚高数据库企业版中的权限问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄
文檔用途
詳細信息

文檔用途
企業版V6.0.1中,普通用戶可以連接查詢其他用戶owner的數據庫,并且可以在他的public模式下進行create、delete、update、drop自己的表等操作,存在安全隱患。

詳細信息
問題

highgo=# create user a with password 'xxxxxxxx'; --創建a用戶CREATE ROLEhighgo=# create database db_a with owner a; --創建數據庫db_a,owner為用戶aCREATE DATABASEhighgo=# create user b with password 'xxxxxxxx'; --創建b用戶CREATE ROLEhighgo=# create database db_b with owner b; --創建數據庫db_b,owner為用戶bCREATE DATABASEhighgo=# \q[highgo@localhost etc]$ psql -U a -d db_b --用戶a連接數據庫db_bPassword for user a: psql (6.0.1)PSQL: Release 6.0.1Type "help" for help.db_b=> create table by_a (id int); --執行創建表操作成功。insert、update、drop經測試也可正常執行。CREATE TABLE

非超級用戶a為什么可以連接任何數據庫db_b,不僅可以連接還可以在public模式下面創建自己的object并對其執行增刪改查等操作。

分析
這其實是由瀚高數據庫的邏輯結構決定的,在瀚高數據庫中邏輯結構有4層:實例(集簇)→數據庫→schema→數據庫對象。一個數據庫集簇下面可以有多個數據庫,每個數據庫可以有多個schema,每個schema又可以有多個數據庫對象,包括table、view、function等。他與oracle不同的是用戶并屬于邏輯結構中的任何一層,是獨立之外的object,他不屬于某個數據庫或者schema,在瀚高數據庫中庫與用戶沒有直接的關聯關系,所以會出現上面的權限疑問。

解決
當然我們仍然可以通過權限操作來實現我們想要的效果,使數據庫只有超級用戶、屬主用戶可以連接,排除安全隱患。

revoke all on database db_b from public; --此處public代表所有普通用戶。

如果后期又想賦予該權限,可以執行以下逆命令。

grant all on database db_b to public;

總結

以上是生活随笔為你收集整理的瀚高数据库企业版中的权限问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。