版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實驗三:數(shù)據(jù)庫的安全性 一、實驗目的 熟悉通過SQL對數(shù)據(jù)進行安全性控制。二、實驗平臺 SQL Server 2008三、實驗內(nèi)容和要求1、掌握Windows登錄名和SQL SERVER登錄名的建立與刪除方法;2、掌握數(shù)據(jù)庫用戶創(chuàng)建與管理的方法;3、掌握服務器角色的用法;4、掌握數(shù)據(jù)庫權限授予、拒絕和撤銷的方法;四、實驗步驟(一)授權與回收。例1授權。在 SQL Sever 中建立多個用戶,給他們賦予不同的權限,然后查看是否真正擁有被授予的權限了。1)建立用戶 U1、U2、U3、U4、U5、U6、U7。2)以系統(tǒng)管理員身份對這7個用戶進行授權。例 1-1把查詢 Student 表的權限授給用戶
2、 U1。GRANT SELECTON StudentTO U1; 例 1-2把對 Student 表和 Course 表的全部操作權限授予用戶 U2 和 U3。GRANT ALL PRIVILEGES ON StudentTO U2,U3;GRANT ALL PRIVILEGES ON Course TO U2,U3;例 1-3把對表 SC 的查詢權限授予所有用戶。GRANT SELECTON SCTO PUBLIC; 例 1-4把查詢 Student 表和修改學生學號的權限授給用戶 U4。GRANT UPDATE (Sno) , SELECTON StudentTO U4; 例 1-5把對表
3、 SC 的 INSERT 權限授予 U5,并允許 U5 將此權限再授予其他用戶。GRANT INSERT ON SCTO U5 WITH GRANT OPTION;例 1-6用戶 U5 將對表 SC 的 INSERT 權限授予 U6,并允許將權限轉授給其他用戶。首先應該以 U5 的身份重新登錄數(shù)據(jù)庫,然后再進行授權。 GRANT INSERT ON SC TO U6 WITH GRANT OPTION;例 1-7用戶 U6 將對表 SC 的 INSERT 權限授予 U7。首先應該以 U6 的身份重新登錄數(shù)據(jù)庫,然后再進行授權。GRANT INSERT ON SCTO U7; 3)在授權之后驗證
4、用戶是否擁有了相應的權限。在執(zhí)行完上面七個語句之后,我們可以分別以不同用戶的身份登錄數(shù)據(jù)庫,進行相關操作,檢查系統(tǒng)是否許可。例如:例 1-8U4 更新 Student 表的學生學號。UPDATE StudentSET SNO = 95101WHERE SNO = 95001;顯示更新 1 條記錄,即 U4 用戶擁有了對 Student 表 Sno 的更新權限。例 1-9U7 向 SC 表中插入一條數(shù)據(jù):(95020,20,88)。INSERT INTO SC VALUES(95020,20,88);顯示插入 1 條記錄,即用戶 U7 擁有了對 SC 表的插入權限。例2回收權限。將例 1授予的權
5、限部分收回,檢查回收后,該用戶是否真正喪失了對數(shù)據(jù)的相應權限。1)回收權限。例 2-1收回用戶 U4 修改學生學號的權限。當前用戶為 SYSTEM,直接執(zhí)行下列語句:REVOKE UPDATE (SNO) ON StudentFROM U4;例 2-2收回所有用戶對表 SC 的查詢權限。REVOKE SELECTON SCFROM PUBLIC;例 2-3收回用戶 U5 對 SC 表的 INSERT 權限。將權限 INSERT 授予給用戶 U5 時,允許該用戶將權限再授予給其他用戶;之后,用戶U5 將 INSERT 權限轉授給了 U6,U6 又將權限轉授給 U7。因此,將用戶 U5 的 INS
6、ERT 權限收回的時候必須級聯(lián)收回,不然系統(tǒng)將拒絕執(zhí)行該命令: REVOKE INSERT ON TABLE SC FROM U5 CASCADE;執(zhí)行該命令之后,U6 從 U5 處獲得的權限也將被收回,U7 從 U6 處獲得的權限也將同時被收回。2)在回收權限之后驗證用戶是否真正喪失了該權限。例 2-4用戶 U3 查詢表 SC。首先用戶 U3 重新登錄數(shù)據(jù)庫 TEST。執(zhí)行命令:SELECT *FROM SC;執(zhí)行失敗,該用戶不擁有此權限。證實用戶 U3 喪失了對表 SC 查詢的權限。例 2-5用戶 U6 向表 SC 中插入一條記錄(95035,3,92)。首先用戶 U6 重新登錄數(shù)據(jù)庫 T
7、EST。執(zhí)行命令:INSERT INTO SC VALUES(95035,3,92);執(zhí)行失敗,該用戶不擁有此權限。證實用戶 U6 喪失了從用戶 U5 處獲得的對表 SC 插入的權限。(二)數(shù)據(jù)庫角色。例 3角色的創(chuàng)建與授權。例 3-1創(chuàng)建角色 G1。CREATE ROLE G1;例 3-2給角色授權,使得角色 G1 擁有對 Student 表的 SELECT、UPDATE、INSERT 的權限。GRANT SELETE,UPDATE,INSERTON STUDENTTO G1;例 3-3將用戶 U1,U3,U7 添加到角色 G1 中來。EXEC sp_addrolemember G1,u1E
8、XEC sp_addrolemember G1,u2EXEC sp_addrolemember G1,u3將 U1,U3,U7 添加到角色 G1 中之后,U1,U3,U7 就擁有了 G1 擁有的所有權限,即對Student 表的 SELECT、UPDATE、INSERT 的權限。例 3-4對角色 G1 的權限進行修改,增加對 Student 表的 DELETE 權限,并回收對 Student表的 INSERT 權限。GRANT DELETEON STUDENTTO G1;REVOKE INSERTON STUDENTFROM G1;例 3-5刪除角色 G1。DROP ROLE G1; 5、 實
9、驗任務 利用實驗二建立的students數(shù)據(jù)庫和其中的student、course、sc表,完成下列操作:1、建立SQL Server身份驗證模式的登錄賬戶:log1、log2和log3;(命令方式創(chuàng)建)CREATE LOGIN log1 WITHPASSWORD='821742'GOCREATE LOGIN log2 WITHPASSWORD='821742'GOCREATE LOGIN log3 WITHPASSWORD='821742'GO2、 用log1新建一個數(shù)據(jù)庫引擎查詢,這時在“可用數(shù)據(jù)庫”下列列表框中是否能選中students數(shù)據(jù)
10、庫?為什么?3、 將log1、log2和log3映射為students數(shù)據(jù)庫中的用戶,用戶名同登錄名;(命令方式創(chuàng)建)USE students GO CREATE USER log1FOR LOGIN log1USE students GO CREATE USER log2FOR LOGIN log2USE students GO CREATE USER log3FOR LOGIN log34、 在log1建立的數(shù)據(jù)庫引擎查詢中,在“可用數(shù)據(jù)庫”下列列表框中選中students數(shù)據(jù)庫,是否成功?為什么?能,因為授予了權限。5、在log1建立的數(shù)據(jù)庫引擎查詢中,執(zhí)行下述語句,能否成功?為什么?
11、select * from course不能,因為Log1所在的數(shù)據(jù)庫沒有賦予查詢權限。6、 授予log1具有course表的查詢權限,授予log2具有course表的插入權限;7、用log2建立一個數(shù)據(jù)庫引擎查詢,然后執(zhí)行下述兩條語句,能否成功?為什么? Insert into course values(c101,java,2,3) Insert into course values(c102,操作系統(tǒng),4,4)能,因為Log2賦予了插入權限。再次執(zhí)行下述語句,能否成功?為什么? select * from course不能,因為log2只有插入的權限,沒有查詢權限。8、 在log1建立的
12、數(shù)據(jù)庫引擎查詢中,再次執(zhí)行下述語句: select * from course這次能否成功?為什么?能,因為log1賦予的是查詢功能。讓log1執(zhí)行下述語句,能否成功?為什么? Insert into course values('c103','軟件工程',4,6)不能,因為Log1所在的數(shù)據(jù)庫沒有賦予查詢權限。9、 在students數(shù)據(jù)庫中建立用戶角色:role1,并將log1和log2添加到此角色中。10、 授予role1角色具有course表的插入、刪除和查詢權限;11、 在log1建立的數(shù)據(jù)庫引擎查詢中,再次執(zhí)行下述語句,能否成功?為什么? Inser
13、t into course values(c103,軟件工程,4,6)不能,因為Log1所在的數(shù)據(jù)庫沒有賦予查詢權限。12、 在log2建立的數(shù)據(jù)庫引擎查詢中,再次執(zhí)行下述語句,能否成功?為什么? select * from course不能,因為Log2所在的數(shù)據(jù)庫沒有賦予查詢權限。13、 用log3建立一個數(shù)據(jù)庫引擎查詢,并執(zhí)行下述語句,能否成功?為什么? select * from course不能,因為Log3所在的數(shù)據(jù)庫沒有賦予查詢權限。14、 將log3添加到db_datareader角色中,并在log3建立的數(shù)據(jù)庫引擎查詢中再次執(zhí)行下述語句,能否成功?為什么? select * from course15、 在log3建立的數(shù)據(jù)庫引擎查詢中,執(zhí)行下述語句,能否成功?為什么? Insert into course va
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024門面租賃合同電子版租賃雙方爭議解決途徑3篇
- 廣西南寧市中考語文模擬試卷六套【附參考答案】
- 專業(yè)技師合作合同書格式版
- 2024版?zhèn)€人房屋租賃給公司合同
- SaaS服務平臺標準化服務協(xié)議樣例(2024年版)版B版
- 3 表內(nèi)乘法(一)(說課稿)-2024-2025學年二年級上冊數(shù)學蘇教版
- 職業(yè)學生入住宿舍申請表
- 福建省南平市王臺中學2020-2021學年高二物理聯(lián)考試題含解析
- 2024版?zhèn)€人獨資合作協(xié)議
- 2024年采購流程優(yōu)化與合作合同3篇
- 湖北省武漢市洪山區(qū)2023-2024學年六年級上學期語文期末試卷(含答案)
- 飛書手把手使用教程培訓
- 2025屆山東省濰坊市高三物理第一學期期中經(jīng)典試題含解析
- 《醫(yī)院醫(yī)療質(zhì)量安全管理提升年實施方案》
- 豆腐制作工藝
- 臨床提高吸入劑使用正確率品管圈成果匯報
- “中華老字號”申報書
- 礦山智能化監(jiān)控系統(tǒng)
- 五年級口算題卡每天100題帶答案
- 年產(chǎn)500t o-甲基-n-硝基異脲技改項目可研報告
- 光伏項目居間服務合同協(xié)議書
評論
0/150
提交評論