实验3 数据库安全性与完整性控制实验_第1页
实验3 数据库安全性与完整性控制实验_第2页
实验3 数据库安全性与完整性控制实验_第3页
实验3 数据库安全性与完整性控制实验_第4页
实验3 数据库安全性与完整性控制实验_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验3数据库安全性与完整性控制实验1.实验目的练习安全性授权方法、安全性和完整性查看的操作方法。【实验3-1】使用createuser创建用户,创建单个用户teacher,创建两个用户teacher1和student。【实验3-2】通过直接操作MySQL用户表创建用户,创建单个用户teacher2,创建两个用户teacher3和student2(请注意,新版的MySQL可能不支持使用此方法创建新用户)。【实验3-3】新建一个terminal窗口,使用mysql-u-h-p方式登录teacher。【实验3-4】再次新建一个terminal窗口,使用mysql-u-h-p方式登录student。【实验3-5】使用GRANT语句对用户student赋予所有数据库所有表的insert权限和叩date权限。【实验3-6】使用GRANT语句对用户student赋予school数据库所有表的select权限。【实验3-7】使用GRANT语句对用户student赋予school数据库stuinfo表的create访问权限。【实验3-8】使用GRANT语句对用户student赋予school数据库stuinfo表的stuno列上的select访问权限。【实验3-9】使用GRANT语句对用户student赋予s所有数据库所有表的select访问权限,并设定student每小时最多可使用select操作访问数据库的次数。【实验3-10】查看表INFORMATION_SCHEMA.USER_PRIVILEGES中有关student的信息,查看user表中的内容信息。【实验3-11】查看表INFORMATION_SCHEMA.SCHEMA_PRIVILEGES,找到student在school数据库下拥有的权限。【实验3-12】查看表INFORMATION_SCHEMA.TABLE_PRIVILEGES,查找school数据库中stuinfo数据表相关的表权限。【实验3-13】查看表INFORMATION_SCHEMA.COLUMN_PRIVILEGES,查找用户sutdent的其中一条记录,其数据库为school,表名为stuinfo,列名为stuno,查看其授予权限类型。【实验3-14】首先进入school数据库,如果没有,创建一个school数据库。创建stuinfo表,包括stunovarchar(10)(加非空约束和主键约束)、stunamevarchar(8)、stubirdate、stuageint。仓U建表course,包括cournovarchar(3)(非空约束)、cournamevarchar(10)、schyeardate(非空约束)、creditint,主键为课程号courno和学年schyear。创建stuandcour表,包括stunovarchar(10)、cournovarchar(3)、chonovarchar(10),定义其主键为选课号chono,stuno为外键,参考stuinfo中的stuno歹U。上述操作完成后继续向stuandcour数据表中添加新的字段schyeardate,添加外键(courno,schyear)参照course表中的courno,并删除时置空值。【实验3-15】查看表INFORMATION_SCHEMA.TABLES——存放数据库中所有数据库表信息,所得到的记录值有很多条,然后观察其内部字段表示,进—步筛选表名为stuinfo的记录,school数据库stuinfo表的所有基本信息都在这里描述。【实验3-16】查看表INFORMATION_SCHEMA.TABLE_CONSTRAINTS存放表中所存在的约束信息。进一步筛选表名为stuandcour的记录信息,可以看到关于该表有三条约束信息,与我们设定的一样,其拥有两个外键和一个主键。尽管这三种约束涉及四个列字段,但是基于表层面还是三个约束,因为有一个外键是由两个列组成的。【实验3-17】查看表INFORMATION_SCHEMA.KEY_COLUMN_USAGE——存放数据库里所有具有约束的键信息,然后通过对表名筛选,选出表stuandcour的所有以列为单位的约束信息,通过观察可以得出该查询结果与table级别约束的查询结果个数不同,这里出现四个结果,列名COLUMN_NAME部分涉及stuandcour表中所有约束包含的全部列。据我们所知,stuandcour表的主键为chono,为第一行结果;第一个外键只有一列,该列为stuno,出现在第二行结果;第二个外键含有两列,分别为courno、schyear,出现在第三行、第四行。3.实验要求(1)所有操作均在命令行或者MySQLWorkbench中完成。(2)将操作过程以屏幕抓图的方式复制,形成实验文档,并对照本章内容写出分析报告。

GIU«3itAB1(O.GQ心[itTCQllt|s4*rTIfiTfiifir^ijl.i>C*rfhnfltatH,「i岭pjft(°1"%bfli^nb:'Teprh*s"^.1itT-frlI'444'E&A3R1054113二iSBi*ac«nml.皿"pMfvcrd":□JfLtldiXtcny*q,l>*-,1。Q^tr?QL0ran(L«meJIIIIAF,[1vaEvrJdlrlbd1#.d.p口;晔■邛OiK.IrtwgTf*rT«|rOQ;i*r)时叫1%口*srhoclr.11r->Ml-:Qie&t-loljlriluiufa2Eurn枇血H1(DKWryOL0sfT*?l«clidM沌c】gmgl:^tue3^1eetaaecfccu二*teztudEr.tr如甲邛QKii口ror史衅f>EEdQ41。玮匚)!uTaq.lsLov嚣皿iHfarstLideaL,-■:f2rows-ins^t:D,OOs?匚)rrjitit^rMTfl(viATtiftfrra<siuflflnT:Q'jeryDS,0torsaffe?tsd(0,Wser>Il.瓦.U程WR.j-?5f广.1ud|i|2rvrsin»1.0.CDsar)k;£i?m[jLcr^dltJmscttoaLstulrifoLoslod«[it;lUu^rjDiLQrcr*Effect的(0.OTik]krX|l>EFim5我HmiinGonsfhafi].iininfrtaHu如t:Q-isrrOK,0ruTi&fftct»d(0.QIrsr珥】:■普阳*湖祯gTP-~X2rw>£aa<l(t,DOact)nj®rql”(jrArilcreileesch-DnlTfT.uli.f-n>「■»MTvdvnIQrprfK,naff#rT*Jrt¥1wrrfqigranst.^ctCana^/qbrotiuikciT;Qtfrr眼Ome0,-M=#c)iimm.b?;aiLi宙e.•satuiMtvitaift^.mriea_pe;rJ>ffjLtr10:、EEgft:D®4I420M!VeuinErroiry^ut541ijrtt*.*tcI^^kttaui:u«lEhutErFts—xrd—mr*」r购如:nl:sMrT»9ntttCTntutowwe'I"M1£席IliTcqJ,-^raiii5tL»^tE.•mHWiM*vitjnajL^na-riesjpBr^jiDar1(J.眠“rmtitffl>LwrriT9-Wtec;"n~sql..

mysql>altertablestuandc_iLiraddschyeardate;tjuery0E?0rowsaffeci.ed(0.09sac)Eecorde;0Duplicates;0Warnines;DnysqL>altertableEt-naadcouraddfcii■日ignkey(colitiioJrefersncsEgdutse(caumo),QueiyOK?11rcnvsaffectedLL03sec)Records!!0Duplicates:0ffamines!Dmys<al>.TOC\o"1-5"\h\zI3lC?\iwinclows.\^tem32\cmd.exe--mysql-uroot-p—□XRecords!!0Duplicates:0ffamines!Dmys<al>showdatabases;+—hIDatabase+—hLnfoi-iiiaTiQn_schj9mnyEqLphpinyadirQnscLddLtestTOC\o"1-5"\h\z++ErowsinsettO-00sec:inysql>useinfonrati:Databasechangedmys<iL>shiwtables.++|Tables_in_inforirat-iciri_5c:ti9maCHARACTEfLSETSCOLLATIONSCEi]lA.TIOtU^ARACTER_SET_APPLICABILTTYCOLUmJSCOLimJJT?IVILEGESKEY-COLUm-LUSACEFWFILIIKEOUTINESSCHE1UTASCHE1U_PRIVILEGESSTATISTICSTAE-LESTAE.LE._CDWSTRAINTSTAE.LE-_PRIHLEGESTRIGGERSUEEFLPRIVILEGESVIEVS++17rowsinset(0.00sec)„ysql>useschool:Jatabasechanged„ysql>showtables:+pITablGS_irLSchOLil+pcourse£tuandcouinstuinfo+-+3rowsinset(0-00secivsqL^descstiiinfa:_|++_|+|Field|Type|Null|Key|Default|Extra|44+++一++stunostunairestubirstuagevarchar(10)var:?har(8)dateint(ll)NOYESYESYEEFBI+H+4rcwsinset(0.00sac)NULLNULLNULLHEC:\wflndows-\^tem3Z\cmd.exe--mysql-uroot-pdatabasechangediysql>showtables;++ITables_in_inioriratiorcgctiQina++CHARACTER-SETSCDLLATIOMStX>LLATIOW_CHARACTER_SET_APFLLCABLLLTYOOLUnMSOXUMLPRIVILEGE二KZ.T_O2iLUin'IJKAGEPFDFILIIKROUTINESSCHEMATASCHEIA_PRIVILEGESET'AnETICSTABLESTAB.LE_CDMSTRAinrSTAE-LZ._FRIVILEGESTRIGGERSUSER_PRI\nLEGESVIEVS17totsinsetElOJm已「::ysql>desc:table.■:::zmstraints:IField|TypaINuLLIKeyIDefaultIExtra|tX>NSTRAINT_CMALaGtX>NSTRAINT„97HMACDWSTRAINTJ'IOtETAE.LE._SCHEIATABLEJJAKECONSTFAIIJT_TYPEvarc:tiar(512)varc:tiar(64,)varchar(64)varchar(64)varcliar(64.)var:'har(64.)址VW%I'JULL6rcwsinset.0.01sec)创ndow5.\^tem3Z\cmd.exe--rrry'sql-uroot-p□Xraysql>select牛from1nformatinn_schema.table_constraints;-+1-~——————————————————十~F~——————————-1(Tk厂匠门厂_二「江)7TKT^TXT_-.--11?TABLE-SCHEMA1l,\R1F_1NMF:1CON^TRAINTjnPEI-+卜~——————————————————十~F~——————————-1hLLL1mysql1冲._明切1mysql1FK_HWLD'1MLL1m^sql11nysql|db1LD'1KULL1m^sql1J1nysql|tunc1LD'|M11|myaql|1KII*|myaql|h&Lp-_r■egory|「安IM.RvFF:|Kill|myaql||myaql|h&Lp-_category|1T7i;1TIKillImTsqlIFK而R,,ImysalIheLp_keywurdIPRIMARYKEYIKillImTsql|IFTTF!ImysalIhelpj^eywurdIUNIQUEI]'TLLniQrgqlIPRIKARYImirgqlIhelp_relationILD'IMILImysqlIH.」IMImysqlIhelpiLpi-:.:ILD'IhLLLImysql|l.dlth!Imysql|}jeLp_topicIUK」、UHIKULLIm^sql|睥Imysql|hostILD'|M11|mysql|1R:ll&ir|mysql1J:''|「RIIM.RvFF:|Kill|mysql|PRIHART|mysql1pTOCS_p.TlT|「RIIM.RvFF:1Kill1mTsql1PRIHM?T1rnysql1■flbles_priT1PRIMARYKEY1Kill1niysql1PR下刷1niysql1tLnue_zone1PRIMARYKEY1MIL1mTsal1PRIKARY1mysql1"Lme-ZCEL!leapccc::inl1PEIHARYKEY1hLLL1mysql1PEIKARY1mys<il1-Line.zoije.iiairie1PEIHARYKEY1hLLL1mysql|PEIKARY1mysql1'-Jl.i-2:ljjjmansi=」:L1FRIIARYKEY1成LL1mysql1JX-ll睥1mysql1-lme_^Ljjb■.i-:LLj-:ltijlli,「.■=■1FRIIARYKEY|应LL|n^*5ql|JX-ll睥|n^sql1user|FR7HaRvFT-'.r|Kill|phpmyadmin|PRIHARY|phpmya±nin|p.jna_bDDkmark|FR7HaRvFT-'.r|Kill|phpmyadmin|PRIHARY|phpmya±nin|p.ma_c口Luol:.nf□1PRIMARYKEY1Kill1phprnzadininIrl-:_nnrn1phpnyaimin1pnua_^r\uim_infn1UNIQUE1Kill1phprnzadininIPRIJ[职Y1phpnyaimin1pnuaJnLstory1PEIMARYKEY1hLLL1E?hpmyadjnlnIPRIMARY1快hpmyadjnln1pma_pd2_E>age£1PEIMARYKEY1hLLL1E?hpmyadjnln1PRIMARY1快hpmyadjnln1pnia_ieLatiQn.1JJCJ1AJ<'LL?1KULL1phpmyadmin11phpmyadinin|j?nia_■--:i1.1e_cuuilIs1JJCJ1AJ<'LL?|KULLLphpniyadLnun_|]卜.」1就’LphpniyadLnun_|_i?matxbL曰inf口UUEE-K_PKIV1LEX;ESIVIEVS+——————17rawsinset(0-00secJniygL〉desckey_colunn_<-isise;++IFieldITypeINull|Key|Defsult|Ewtra|OONETRAIMT_CATALiDGOONSTRAIWTZ9?HEJLACtiNSTRAIlITJ'IAJIETAELE_C^TALO5TABLE._SCHEIATABLE.JJAMECOLUMN_WAf(EORDINAL_PDSITIONFOEITION_IN_UNIQUE_CONSTRALNTREFER!JJCED_TABLE_£CE1EMkr^erencedZtableZnakeRE.FEREJJGEDj^OLUmOIANBvarchar(51UEE-K_PKIV1LEX;ESIVIEVS+——————17rawsinset(0-00secJniygL〉desckey_colunn_<-isise;++IFieldITypeINull|Key|Defsult|Ewtra|OONETRAIMT_CATALiDGOONSTRAIWTZ9?HEJLACtiNSTRAIlITJ'IAJIETAELE_C^TALO5TABLE._SCHEIATABLE.JJAMECOLUMN_WAf(EORDINAL_PDSITIONFOEITION_IN_UNIQUE_CONSTRALNTREFER!JJCED_TABLE_£CE1EMkr^erencedZtableZnakeRE.FEREJJGEDj^OLUmOIANBvarchar(512.)varcharC64.)varcharC.64)varcharCE12)/次匚匚:卜用匚(G4JvarcharC.&4.)varcharC64)biglntC.1C.1blELDt(10)varcharC.64.JvarcharC64.)varchar(64jNULLNULL0NULLNULLNULLtlULL成□厦皿日口少3£产3旧义2诚而1±##』-mycqf-urod-p□Xrn-atioivsch.eTLa.,ccilijinn_usase项IMET项IH眼TPRIH.KRTFRIHARTHULLIin^sqlNULL'CDlmms^riyIHULLCDlunnsjrl^IHULLINULLHULLINULLNULLINULLNULLTable_n^Tne:ITABLE.SCHEIAITAELEJWJEREFEREICEDTABLE丈HEMIREFERETCEDTABLECC'MSTfiAIWT.SCffiJLLICDHS[战im_W皿ITAfiLE-CATALCGOEiinTAL.FOsrrioH|rosiTroM_iN_MiQiJE_roHsrRADTr|:CONSTWNLCmLDG02iLtnrN_NAHEIE|E?5:FEREbO:D_CDLUMMJdA](EE51ec;t*fron.iiiinr™tion_s^heTU3irkey_Golijnm_us^gRwheretable.nanE^'stu^ndcuur';ICONSTWKT-C虹虻OG|COM^TRAIMTSCffiJLL|EH更RADJTJO皿|TAfiLE_CATALCC|TABLESCHE1A|TAfiLE_NME|COLUDU4AJIE-IOl?Drt<AL_P3SITIONITOSITIOTLINJMQrTE._a0|fSn?ArWTIEEFE.RET(CED_TABLE_3rHEffAIFETEEEtO.D_TABl.E_NA«I.IEEFEREtfCI.D_COLlJWN_NAMEIINULL|S'iLddIIFRIHART|NULLI瑚二h口口1|s-tuandcDiir|chono1INULLINULLI皿IHULLLrawinset(Ou00ebc)mysql>■实验分析报告用户认证与鉴别也称为身份认证,是指在数据库系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使数据库系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。用一个用户名或者标识号来标明用户身份,系统内记录着所有合法用户的标识,系统鉴别此用户是否为合法用户,如果是则进入下一步,否则不能使用该系统。为了进一步核实用户,可以要求用户输入口令,用户在终端上输入的口令不显示在屏幕上,系统对用户口令进行鉴别。用户还可以预先约定一个计算过程或者函数,鉴别用户身份时,系统提供一个随机数,用户提供一个计算结果,系统判断用户计算结果是否正确,由此来鉴别用户。如图4-3所示,用户认证和鉴别的过程不仅在连接数据库的时候进行,而且在连接成功后进行数据库查询(或者数据库访问)时皿进行用户的身份认证,只有该身份在查询的对象上有相应的权限时,才能获得查询批准,否则即使连接成功,也不能获得查询结果。哪些对象上具有什么样的操纵权限,这就是访问控制(也称为存取控制)。

图4-3数据库身份认证的过据库访问控制是维护数据库安全最主要.♦基本、最核心的方法。数据库系统通过安全规则和策略规定对合法用户进行正常接入,对于攻击者以及未经授权非法访问的用户则进行制止。数据库访问控制确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据。数据库访问控制包括两部分:定义用户权限,并将用户权限记录到数据字典;合法权限检查,当用户发出存取数据库请求时,系统查询数据字典进行合法权限

检查,如果用户请求超越其权限,系统将拒绝执行此操作。数据库访问控制的方法大体分为如下几类。1.自主访问控制数据库访问控制的方法J强制访问控制法大体分为如下几类。1.自主访问控制数据库访问控制的方法J强制访问控制r自主访问控制k基于角色的访问控制在自主访问控制中,用户可按照自己的需求对系统相应参数进行修改,以决定满足哪些条件的用户可以访问相应数据,“自主”来源于可访问数据资源的用户能够自主地将他所拥有的权限授予其他在该系统登录的任意用户。用户对于不同的数据对象有不同的存取权限,不同用户对同一对象也有不同的存取权限,用户还可以将其拥有的权限转授给其他用户,其最基本的实现方式可以用一个三元组来表示:(S,O,M)其中S表示主体,即操作用户;O表示客体,即数据;M表示数据库基本的查询■修改■添加■删除等操作。主体、客体、操作三元组的自主访问控制存在些许不足,即数据范围不能被约束,也就是客体不受约束,为此还可以进一步对客体进行约束,形成四元组:(S,O,M,P)新增的P元素用来表示约束条件,只有当满足P条件时,S才对O进行M授权。对访问控制添加了约束条件后,可以对用户进行等级划分,将授权指定给某最大级用户组s,根据先前制定好的权限传播策略传递给其他用户。例如,某数据库指定某授权给教师,根据传播策略,英语老师和语文老师都属于老师,都应该得到该授权,这里存在老师、某科目老师两个层次的抽像,这样大大提升了授权的精确性。4.3节中MySQL的安全性访问控制支持了主体、客体、操作和约束的四元模型。2.基于角色的访问控制在自主访问控制中,对用户的授权都是一维的,在复杂而庞大的数据库系统中难以达到良好的表现。20世纪90年代出现了基于角色的访问控制模型,该模型中心思想为将角色作为访问控制对象,对角色赋予其安全特征,并且对用户主体赋予角色语义,一个用户可以拥有许多角色,每种角色对成一定的安全权限,一个用户所拥有的安

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论