SQL Server 安全性部分实验

《数据库系统概论》实验三数据控制(安全性部分)

姓名

日期

本实验是在实验二中的school数据库的基础上进行的,如果有需要增删改的地方将在实验中加以说明。

(一)授权与回收。

1授权。建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。

1建立用户(登录帐号)U1、U2、U3U4U5U6U7和对应的数据库school的用户dbu1dbu2dbu3dbu4dbyu5dbu6dbu7

EXECsp_addlogin'U1','01'

useschool

EXECsp_grantdbaccess'U1','dbu1'

EXECsp_addlogin'U2','02'

useschool

EXECsp_grantdbaccess'U2','dbu2'

EXECsp_addlogin'U3','03'

useschool

EXECsp_grantdbaccess'U3','dbu3'

EXECsp_addlogin'U4','04'

useschool

EXECsp_grantdbaccess'U4','dbu4'

EXECsp_addlogin'U5','05'

useschool

EXECsp_grantdbaccess'U5','dbu5'

EXECsp_addlogin'U6','06'

useschool

EXECsp_grantdbaccess'U6','dbu6'

EXECsp_addlogin'U7','07'

useschool

EXECsp_grantdbaccess'U7','dbu7'

2SYSTEM(即DBA)与七个用户之间进行授权。

[1-1]把查询Student表的权限授给用户U1

useschool

grantselectonStudenttodbu1

[1-2]把对Student表和Course表的全部操作权限授予用户U2U3

useschool

grantinsert,update,select,deleteonStudenttodbu2,dbu3

grantinsert,update,select,deleteonCoursetodbu2,dbu3

[1-3]把对表SC的查询权限授予所有用户。

useschool

grantselectonSCtopublic

[1-4]把查询Student表和修改学生学号的权限授给用户U4

useschool

grantselect,update(SNO)onStudenttodbu4

[1-5]把对表SCINSERT权限授予U5,并允许U5将此权限再授予其他用户。

useschool

grantinsertonSCtodbu5withgrantoption

[1-6]用户U5将对表SCINSERT权限授予U6,并允许将权限转授给其他用户。

首先应该以U5的身份重新登录数据库,然后再进行授权。

useschool

grantinsertonsctodbu6withgrantoption

[1-7]用户U6将对表SCINSERT权限授予U7

首先应该以U6的身份重新登录数据库,然后再进行授权。

useschool

grantinsertonsctodbu7

3在授权之后验证用户是否拥有了相应的权限。

在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可。

[1-8]U4更新Student表的学生学号。

useschool

UPDATEStudent

SETSNO=1009WHERESNAME='张天'

[1-9]U7SC表中插入一条数据:(950202088)。

useschool

insertintoSCvalues(95020,20,88)

2回收权限。将【1】授予的权限部分收回,检查回收后,该用户是否真正丧失了对数据的相应权限。

1回收权限。

[2-1]收回用户U4修改学生学号的权限。

useschool

revokeupdate(SNO)onStudentfromdbu4

[2-2]收回所有用户对表SC的查询权限。

useschool

revokeselectonStudentfrompublic

[2-3]收回用户U5SC表的INSERT权限。

useschool

revokeinsertonSCfromdbu5cascade

2在回收权限之后验证用户是否真正丧失了该权限。

[2-4]用户U3查询表SC

useschool

select*

fromSC

[2-5]用户U6向表SC中插入一条记录(‘95035’,’3’,92)

useschool

insertintoSCvalues(95035,3,92)

(二)数据库角色。

3】数据库角色的创建与授权。

[3-1]创建数据库角色G1

useschool

EXECsp_addrole'G1'

[3-2]给数据库角色授权,使得数据库角色G1拥有对Student表的SELECTUPDATEINSERT的权限。

useschool

grantselect,update,insert,deleteonStudenttoG1

[3-3]将用户U1,U3,U7添加到数据库角色G1中来。

useschool

EXECsp_addrolemember'G1','dbu1'

EXECsp_addrolemember'G1','dbu3'

EXECsp_addrolemember'G1','dbu7'

[3-4]对数据库角色G1的权限进行修改,增加对Student表的DELETE权限,并回收对Student表的INSERT权限。

useschool

grantdeleteonStudenttoG1

revokeinsertonStudentfromG1cascade

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值