数据库原理及安全技术教学实验报告SQL实践(三)

250 阅读6分钟

​携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

目录

一、实验目的

二、实验步骤

1、修改服务器的身份验证模式为“SQL Server和Windows身份验证模式”。

2、在服务器级别上创建二个以SQL Server身份验证为方式的登录名,登录名称分别为login_1、login_2。

3、分别为二个登录名在“Student_DB”数据库映射二个数据库用户,数据库用户名为User_1,User_2,使这二个登录名可以访问“Student_DB”数据库,并授予用户User_1查询Student表的权限。

4、把对表Course的INSERT权限授予用户User_1,允许他再将此权限授予用户User_2,试进行此权限的验证。

5、授予用户User_2对Student表有SELECT和INSERT权限,并验证User_2是否能够执行这些操作。

6、授予用户User_1对SC表有Delete的权限,对Grade字段具有UPDATE的权利,并验证User_1能否对所有学生成绩进行成绩的修改。

7、把对用户User_2授予的所有权利收回,并验证收回后的执行情况。

8、在Student_DB数据库中创建角色SROLE,将查询和更新Course表的权限授予角色SROLE,并验证该角色的权限。


一、实验目的

数据库安全性(用户创建、权限管理)

二、实验步骤

实验格式愈发精炼。

1、修改服务器的身份验证模式为“SQL Server和Windows身份验证模式”。

​编辑

 ​编辑

 ​编辑

2、在服务器级别上创建二个以SQL Server身份验证为方式的登录名,登录名称分别为login_1、login_2。

密码均为1

​编辑

​编辑

3、分别为二个登录名在“Student_DB”数据库映射二个数据库用户,数据库用户名为User_1,User_2,使这二个登录名可以访问“Student_DB”数据库,并授予用户User_1查询Student表的权限。

use sese

create user User_1 for login login_1

create user User_2 for login login_2

grant select on Student to User_1;

​编辑

验证(login_1登录,student表选择截图、插入截图)

​编辑

 ​编辑

insert

into Student

values('25455','王陈锋','男',19,'IS');

​编辑

4、把对表Course的INSERT权限授予用户User_1,允许他再将此权限授予用户User_2,试进行此权限的验证。

use sese

grant insert on Course to User_1 with grant option;

​编辑

grant insert on Course to User_2;

​编辑

验证(login_2登录,course表插入、选择截图)

​编辑

insert into Course values('19','Database','2',3)

​编辑

​编辑

========选做

5、授予用户User_2对Student表有SELECT和INSERT权限,并验证User_2是否能够执行这些操作。

use sese

grant select on Student to User_2

grant insert on Student to User_2

​编辑

​编辑

insert

into Student

values('2017','sda','男',69,'CM')

​编辑

6、授予用户User_1对SC表有Delete的权限,对Grade字段具有UPDATE的权利,并验证User_1能否对所有学生成绩进行成绩的修改。

use sese

grant delete, update(grade) on SC to User_1

​编辑

验证(login_1登录,sc表删除、修改所有成绩权限)

use sese

update SC

set grade=80

​编辑

7、把对用户User_2授予的所有权利收回,并验证收回后的执行情况。

use sese

revoke select,insert on Student from User_2

revoke insert on Course from User_2

​编辑

insert

into Student

values('25455','王陈锋','男',19,'IS');

insert 

into Course

values('17','Databasp','5',6)

​编辑

用户db对User_2进行收回权限,但User_1的给予的权限没有收回

​编辑

因此需要在login1中执行

revoke insert on Course from User_2

​编辑

 ​编辑

8、在Student_DB数据库中创建角色SROLE,将查询和更新Course表的权限授予角色SROLE,并验证该角色的权限。

create role SROLE

grant select,update on Course to SROLE

​编辑

​编辑

\

\