資料庫實驗五 資料庫的安全性
實驗五 資料庫的安全性
一、實驗目的
掌握自主存取控制許可權的定義和維護方法。
二、實驗內容和要求
1.建立、刪除使用者
2.授予許可權
3.回收許可權
4.使用角色
要求:定義使用者、角色、分配許可權給使用者、角色,回收許可權,以相應的使用者名稱登入資料庫驗證許可權分配是否正確。
三、實驗過程
實驗過程中部分sql語句截圖
1.準備實驗資料
建立資料庫s_t,建立學生表student、課程表course、選修表sc,向表中新增適量資料。
2.在s_t資料庫中,完成以下操作
(1)建立使用者zhangsan和wangwu
create user zhangsan identified by ‘123456’;
CREATE USER wangwu IDENTIFIED BY '123456';
(2)授予使用者zhangsan擁有學生表的所有許可權,並可以給其他使用者授權。
grant all
on s_t.student
to zhangsan
with grant option;
(3)授予使用者zhangsan在s_t資料庫中建立檢視的許可權(create view)。
grant create view
on s_t.*
to zhangsan;
(4)授予使用者wangwu對學生表具有檢視許可權,對姓名具有更新許可權。
GRANT SELECT,UPDATE(Sname)
ON TABLE student
TO wangwu;
(5)使用使用者zhangsan登入資料庫,並將學生表的刪除許可權授予使用者wangwu。
grant delete on shujuku.student to wangwu;
(6)使用者zhangsan建立檢視student_info,檢視包含資訊系學生的學號、姓名和年齡。
(7)將檢視student_info的查詢許可權授予使用者wangwu。
網上查1142(42000)錯誤,發現是許可權不夠
(8)分別使用使用者zhangsan和wangwu登入資料庫,設計SQL語句驗證其是否具有相應許可權。
show grants for zhangsan;
show grants for wangwu;
(9)收回授予zhangsan和wangwu的所有許可權
REVOKE ALL
ON shujuku.*
FROM zhangsan;
REVOKE ALL
ON shujuku.student
FROM zhangsan;
REVOKE ALL
ON shujuku.student
FROM zhangsan;
(10)為教務管理建立管理人員角色manager和教師角色teacher,通過對角色授權,使得管理人員擁有學生表和課程表的所有許可權,對選課表可以進行查詢、刪除操作,並可以新增選課記錄(不含成績);使得教師能夠查詢所有表,並可以修改選課表中的成績。
CREATE role manager;
CREATE role teacher;
GRANT ALL
ON shujuku.student
TO manager;
GRANT ALL
ON shujuku.course
TO manager;
GRANT INSERT(Sno,Cno),SELECT,DELETE
ON shujuku.sc
to manager;
GRANT SELECT
ON shujuku.*
TO teacher;
GRANT ALL
ON shujuku.sc
TO teacher;
grant insert(sno,cno)
On sc
To manager;
(11)將角色manager授予管理員zhangsan,角色teacher授予教師wangwu。
GRANT manager
TO zhangsan;
GRANT teacher
TO wangwu;
(12)使用使用者zhangsan、wangwu分別登陸資料庫,設計SQL語句驗證其是否獲得相應許可權。
select current_role();
set role manager;
(13)刪除角色teacher和使用者wangwu。
DROP role teacher;
DROP role manager;
四、實驗總結(遇到的問題及解決方法)
使用grant和revoke語句向使用者授予或收回對資料的操作許可權。
Mysql建立使用者,例:create user zhangsan identified by ‘123456’;
在使用mysql視覺化工具Navicat for mysql,這些功能不好驗證,沒有找到使用使用者登入資料庫的方法,於是在建立好使用者對使用者功能進行驗證時大多使用的命令列,在命令列輸入相關語句。
檢視使用者許可權
在命令列使用語句show grants for zhangsan;可檢視使用者張三的許可權
也可在視覺化工具中檢視圖形化的使用者許可權介面。
相關文章
- 資料庫實驗五:資料庫程式設計資料庫程式設計
- 資料庫安全性資料庫
- 資料庫實驗八 資料庫程式設計資料庫程式設計
- 資料庫實驗二資料庫
- SQL:資料庫的安全性SQL資料庫
- 資料庫8530_實驗(1)資料庫
- 寫資料庫實驗報告資料庫
- 資料庫第五章資料庫完整性資料庫
- 實時資料庫與時序資料庫資料庫
- dg_閃回資料庫實驗資料庫
- MySQL手動資料校驗+雲資料庫資料校驗MySql資料庫
- 暑期自學 Day 12 | 資料庫 (五)- 多表,資料庫設計資料庫
- mysql資料庫基本操作(五)MySql資料庫
- 資料庫 資料庫的完整性資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 【Oracle 12c資料庫支援閃回庫功能】實驗Oracle資料庫
- 資料庫趣談-五行資料庫
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- 【資料庫設計】資料庫的設計資料庫
- jsonlint:python的json資料驗證庫JSONPython
- 資料庫PostrageSQL-管理資料庫資料庫SQL
- 資料庫國產化實戰之達夢資料庫資料庫
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 資料庫實驗室挑戰任務-2資料庫
- 【資料庫資料恢復】SAP資料庫資料恢復案例資料庫資料恢復
- 【資料庫資料恢復】windows server下SqlServer資料庫的資料恢復資料庫資料恢復WindowsServerSQL
- 【資料庫資料恢復】如何恢復Oracle資料庫truncate表的資料資料庫資料恢復Oracle
- Redis 設計與實現 (五)--多機資料庫的實現Redis資料庫
- 【資料庫資料恢復】MS SQL資料庫附加資料庫出錯怎麼恢復資料?資料庫資料恢復SQL
- DM資料庫熱備試驗資料庫
- 虛谷資料庫初體驗資料庫
- MySQL資料庫初體驗_gwMySql資料庫
- 實用!一鍵生成資料庫文件,堪稱資料庫界的Swagger資料庫Swagger
- 資料庫介紹--初識資料庫資料庫
- 資料湖 vs 倉庫 vs 資料庫資料庫
- 資料庫概論 (一)資料庫概念資料庫
- 【Falsk 使用資料庫】---- 資料庫基本操作資料庫
- CAS配置資料庫,實現資料庫使用者認證資料庫