標籤:維護 應用 mysq 使用者登陸 分配許可權 date insert size 個數
實驗2:安全性語言
安全性實驗包含兩個實驗項目,其中1個為必修,1個為選修。自主存取控制實驗為設計型實驗項目,審計實驗為驗證型實驗項目,選做一個即可。
實驗2.1 自主存取控制實驗
(1)實驗目的
掌握自主存取控制許可權的定義和維護方法。
(2)實驗內容和要求
定義使用者、角色,分配許可權給使用者、角色,回收許可權,以相應的使用者名稱登入資料庫驗證許可權分配是否正確。選擇一個應用情境,使用自主存取控制機制設計許可權分配。可以採用兩種方案。方案一:採用SYSTEM超級使用者登入資料庫,完成所有許可權分配工作,然後用相應使用者名稱登陸資料庫以驗證許可權分配正確性;驗證許可權分配之前,請備份好資料庫;針對不同使用者所具有的許可權,分別設計相應的SQL語句加以驗證。
(3)實驗重點和痛點
實驗重點:定義角色,分配許可權和回收許可權。
實驗痛點:實驗方案二實現許可權的再分配和回收。
a) 建立使用者fengxingwei,密碼為1993,主機登陸為localhost:
在workbench中查看可以看到使用者fengxingwei存在,說明建立成功。
輸入show grants for ‘fengxingwei‘@‘localhost‘; 查看使用者fengxingwei的許可權暫時如下:
使用system超級使用者root給使用者fengxingwei賦予所有許可權all privileges
繼續show grants for ‘fengxingwei‘@‘localhost‘;查看可以發現使用者fengxingwei許可權如下:
b) 退出root,以fengxingwei作為使用者登陸。
c) 開始驗證分配許可權正確性。在root下原本的4個資料庫及許可權如下:
在fengxingwei使用者下可以發現其擁有和root一樣的許可權,可以看到root建立的4個資料庫。
d) 以使用者fengxingwei登陸,進行select許可權檢查,可以看出select成功。
進行insert許可權檢查,可看出insert成功:
進行update許可權檢查,可以通過看出update成功:
進行delete許可權檢查,可以通過看出delete成功:
e) 登陸root,回收root給fengxingwei的許可權
可以驗證fengxingwei其許可權被收回:
切換以fengxingwei登入,可以看到已無權看到root建立的資料庫。
MySQL安全性語言