201509實驗三數據庫的安全性_第1頁
201509實驗三數據庫的安全性_第2頁
201509實驗三數據庫的安全性_第3頁
201509實驗三數據庫的安全性_第4頁
201509實驗三數據庫的安全性_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗三:數據庫的安全性一、實驗目的熟悉通過 SQL 對數據進行安全性控制。二、實驗平臺SQL Server 2008三、實驗內容和要求1、掌握 Windows 登錄名和 SQL SERVER 登錄名的建立與刪除方法;2、掌握數據庫用戶創(chuàng)建與管理的方法;3、掌握服務器角色的用法;4、掌握數據庫權限授予、拒絕和撤銷的方法;四、實驗步驟(一)授權與回收。例 1授權。在 SQL Sever 中建立多個用戶,給他們賦予不同的權限,然后查看 是否真正擁有被授予的權限了。1)建立用戶 U1、U2、U3、U4、U5、U6、U7。2)以系統管理員身份對這 7 個用戶進行授權。 例 1-1把查詢 Student

2、表的權限授給用戶 U1。GRANT SELECTON StudentTO U1; 例 1-2把對 Student 表和 Course 表的全部操作權限授予用戶 U2 和 U3。 GRANTALL PRIVILEGESON StudentTO U2,U3;GRANT ALL PRIVILEGESON CourseTO U2,U3; 例 1-3把對表 SC 的查詢權限授予所有用戶。GRANT SELECTON SCTO PUBLIC;例 1-4把查詢 Student 表和修改學生學號的權限授給用戶 U4。GRANT UPDATE (Sno) , SELECTON StudentTO U4;例 1-

3、5把對表 SC 的 INSERT 權限授予 U5,并允許 U5 將此權限再授予其他 用戶。GRANT INSERTON SCTO U5WITH GRANT OPTION;例 1-6 用戶 U5 將對表 SC 的 INSERT 權限授予 U6,并允許將權限轉授給其 他用戶。首先應該以 U5 的身份重新登錄數據庫,然后再進行授權。GRANT INSERTON SCTO U6WITH GRANT OPTION;例 1-7用戶 U6 將對表 SC 的 INSERT 權限授予 U7。首先應該以 U6 的身份重新登錄數據庫,然后再進行授權。GRANT INSERTON SCTO U7;3)在授權之后驗證用

4、戶是否擁有了相應的權限。 在執(zhí)行完上面七個語句之后,我們可以分別以不同用戶的身份登錄數據庫, 進行相關操作,檢查系統是否許可。例如:例 1-8U4 更新 Student 表的學生學號。UPDATE StudentSET SNO = 95101WHERE SNO =95001;顯示更新 1 條記錄,即 U4 用戶擁有了對 Student 表 Sno 的更新權限。 例 1-9U7 向 SC 表中插入一條數據:( 95020,20,88)。INSERT INTO SC VALU ES(95020 , 20 ,88);顯示插入 1 條記錄,即用戶 U7 擁有了對 SC 表的插入權限。例 2回收權限。將

5、例 1 授予的權限部分收回, 檢查回收后,該用戶是否真正喪 失了對數據的相應權限。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。 因

6、此,將用戶 U5 的 INSERT 權限收回的時候必須級聯收回,不然系統將拒絕 執(zhí)行該命令:REVOKE INSERTON TABLE SCFROM U5 CASCADE;執(zhí)行該命令之后, U6 從 U5 處獲得的權限也將被收回, U7 從 U6 處獲得的權 限也將同時被收回。2) 在回收權限之后驗證用戶是否真正喪失了該權限。 例 2-4用戶 U3 查詢表 SC。首先用戶 U3 重新登錄數據庫 TEST。執(zhí)行命令:SELECT *FROM SC;執(zhí)行失敗,該用戶不擁有此權限。證實用戶 U3 喪失了對表 SC 查詢的權限。例 2-5用戶 U6 向表 SC 中插入一條記錄 (95035,3,92)

7、。首先用戶 U6 重新登錄數據庫 TEST。執(zhí)行命令:INSERT INTO SC VALUES( 95035,3,92); 執(zhí)行失敗,該用戶不擁有此權限。證實用戶 U6 喪失了從用戶 U5 處獲得的對 表 SC 插入的權限。(二)數據庫角色。 例 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 中來。EX

8、EC sp_addrolememberG1,u1EXEC sp_addrolememberG1,u2EXEC sp_addrolememberG1,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; 例

9、3-5刪除角色 G1。DROP ROLE G1;五、實驗任務利用實驗二建立的 students 數據庫和其中的 student、course sc 表,完成下 列操作:1、建立 SQL Server 身份驗證模式的登錄賬戶:logl、Iog2 和 Iog3;(命令方式 創(chuàng)建)Zl _j鍛年丟冬Fl | J studerrH CJ妾& rMl_PolicyEvtrA *Mi_PolicyTi admin-PCftdrrtin盤loglA Icg2i NT Al/THORmrV-CREATE LOGIN logl WITHPASSWORD =821742GOCREATE LOGIN log

10、2 WITHPASSWORD =821742GOCREATE LOGIN log3 WITHPASSWORD =821742GO2、用 log1 新建一個數據庫引擎查詢,這時在“可用數據庫”下列列表框中是否 能選中 students 數據庫?為什么?皿CSCIILOJQ I4CO - k93)B E:Q sWIeftM-J H1t ffl _J B#*TT*皿匚j蠢vd3、將 Iog1、log2 和 log3 映射為 students 數據庫中的用戶,用戶名同登錄名; 令方式創(chuàng)建)USE studentsGOCREATE USER log1FOR LOGIN log1USE studentsG

11、OCREATE USER log2FOR LOGIN log2USE studentsGOCREATE USER log3FOR LOGIN log3(命.J students+:J謖庫關至哥習_i同文詞+ 一j可嗚握性匚 _j Service Broker3 _J薦福J J 去錘曰口月戶先dboA 弓 uet卜iINFORMATLON_SCHE忌 loglft 窗% log 3IA學H9I_訓*Qava2310C102療作系筑44臺匕冃因為log1 賦予的是查詢功能。讓 logl 執(zhí)行下述語句,能否成功?為什么?Insert into course values(c103,軟件工程,4,6)

12、SQLQueryS.sql - (L.udents (logl (S3) XInsert into course values f殺件T稈f4f6# IiirrI卜命消息消息裁”刪心狀艮第亍亍T拒絕了對對象 cciUEse (數is庫*stiMiaTrtH,t架構hdbd )的INSKRT權障不能,因為Log1 所在的數據庫沒有賦予查詢權限。9、在 students 數據庫中建立用戶角色:rolel,并將 logl 和 log2 添加到此角色中。iiA 鯽昵 | 卿4b_Ria4v I ri送蘇嘶翹呀:用戶,鱷誦邑輪A品譙樺的對錄編翩):【1硝】:ng燧敘)mtft _dfldb!kH.I 理

13、園 5 號庫.弔占拋色11、在 logl 建立的數據庫引擎查詢中,再次執(zhí)行下述語句,能否成功?為什么?Insert into course values(103,軟件工程,4,6)SQLQu亡ryl.綃I - (1-udents (logl (52)* |.:Insert into course y己lues (丫匸103 ”軟彳牛丁*呈”4石i消息2S27,級別14,1,第丄行違反了PRIMARY KEY約束球_cauise:_DeSfilSaGSlSCCAF*e不能在對象 語句已終止。一 一不能,因為Log1 所在的數據庫沒有賦予查詢權限。12、在 log2 建立的數據庫引擎查詢中,再次執(zhí)

14、行下述語句,能否成功?為什么?select * from courseBEi4publicroleliAK4St*莘噴中J閩戶MMIW療Eimwfil 4t_芟.亠丄74*v如OSE 5tudets竝曲直1ma?GOGKANT SELECT ON CDiirae TO rolelGOUSE stQdsntsGOGRANT Insert OH course TO rllGOUSE studentsGOGRANT DELEIE ON ccurse TO rolelGOIIIJ*刊富儒巨3twriH炭tveh轉也)1bH;MiX:i命令已成斯主成xwR rcm H設軸n曲曲禰冏呷D C-SQ DE3

15、E3SHSQLQuciryl.sql - dudnts (leg 2 (52)Jaelacnc壬f roozi二結果.1涓息CNOCNAMECREDIT SEMSTER1owjj412阪*大學萸i吾313COD3丸學英語324COM計茸機交化學22&C005VG336core457C007數擁箱狗448計算機廖44孑Cl DIlava2310Cl 02播作系統斗4111口03軟件工腥46不能,因為Log2 所在的數據庫沒有賦予查詢權限。13、用 log3 建立一個數據庫引擎查詢,并執(zhí)行下述語句,能否成功?為什么? select* from courseSQLQu( (iyrM|l(lo

16、g3 (52) Xselect * from cqurse1J消息消息級別.狀態(tài)亦第1行拒細了對對象 course,:數欄圭srudentB1,架構啲SELECT碾陽不能,因為Log3 所在的數據庫沒有賦予查詢權限。14、將 log3 添加到 db_datareade 角色中,并在 log3 建立的數據庫引擎查詢中再 次執(zhí)行下述語句,能否成功?為什么?15、在 log3 建立的數據庫引擎查詢中,執(zhí)行下述語句,能否成功?為什么?Insert into course values(104;C 語言:3,1)SQLQueiyZsqC (Indents (1og3 f53)* |- XInsert i

17、nto course values (plO1j,3 1消息叫級別第1行I拒絕了對對象ncourse t數據厘1studentsr架枸dbo1)的工HSERT叔懷select * from courseB 逝離!埠,主用戶曲豈:4IM貳架恂-lb_i*eEtfLLywliiLndb_mrdll_bliCk4p9rBt M*dh_ddL*faj&dbtcctsi-kitri曲色質員用戶處損屋角邑對錄盤凹口輒一穩(wěn)W CWECilECiT SEN5KH1:O0l窪軸宇41気早般j計簞脫tC 2詬3曲捋巨戛出 4計18刪 *計列剛 酔魏IUtfris I10(=3世應叭申| (5,即*l*ef.丄三口CALUIA不能,因為Log3 所在的db_datareader 角色中沒有賦予查詢權限。16、在 students 數據庫中,授予 public 角色具有 course 表的查詢和插入權限;EQLQuryLfql -(_IH-PCacimin (Si)11USE stucieiitsGOGRANT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論