数据库原理实验报告S8-数据库安全性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务1:

1.理解Windows身份认证和SQL、Windows身份认证的含义区别,利用SQL管理控制平

台建立5个登录账号,创建密码,,默认数据库为MASTER,

2.删除一个登录账号

3.查看各服务器角色的含义并为所创建的登录账号分配服务器角色。

完成情况(代码及运行结果评析):

1.

create login s2******* with

PASSWORD ='S123'

create login s2******* with

PASSWORD ='S123'

create login s2******* with

PASSWORD ='S123'

2.

3.

小结:

任务2:

通过在不同的数据库里建立用户名,并与相应的任务一所建立的服务器登录名建立映射关系实现

导入(或附加)学生成绩数据库,附加SPJ表,然后以不同的登录账户访问相关数据库对数据库实施如下操作:

1.使用

USE 数据库名

GO

查看各个登录账户能否使用各数据库。

2.分别使用SQL SERVER管理控制台为学生成绩数据库创建数据库用户U1-U5和

TRANSACT-SQL的数据库用户U6,U7,U8,与相应的登录账户建立好映射关系。

3.查看各数据库角色的含义并为所创建的用户分配数据库角色

4. 利用TRANSACT-SQL语句DROP USER user_name 删除用户U8。

完成情况(代码及结果):

1.

用户20121111的服务器角色是sysadmin,所以可以访问spj表2.

create user U6

for login s2*******

create user U7

for login s2*******

create user U8

for login s2******* 3.

4.

DROP USER U8

命令成功完成,U8已经删除。

总结:(实验结果及原理的分析)

任务3:

(一)管理数据库的权限:从数据库的角度来管理。

1.利用SQL Server管理控制台对学生成绩数据库为用户U1授予CONNECT、

CREATE TABLE、CREA TE VIEW、INSERT、SELECT等6种权限。并验证相应

的权限。(注意:要能执行建表语句,需要两个权限:(1). create table权限:

(2.)所在架构的alter权限:alter schema

2.利用SQL Server管理控制台对学生成绩数据库为用户U1回收相应的权限,并验证。

(二)管理用户的权限:从用户或角色的角度来管理

1.对用户U2,利用对用户的授权机制授予其查询课程表的权限, 并验证。

2.回收其查询课程表的权限, 并验证。

(三)管理数据库对象的权限:从数据库对象的角度来管理

1.对于成绩表,对用户U3赋予其SELECT 、DELETE、INSERT、UPDATE成绩列

的权限,并验证。

同时验证验证将学号2005226146的成绩改为100

验证学号2005226146的学号改为2005999999

如果给用户U3赋予了修改学号的权限,可以修改吗?为什么(利用第五章的数据库的参照完整性回答)

2. 回收其查询成绩表的权限,并验证。

完成情况(代码及结果):

1.

select*

from学生名单

create table宿舍

(宿舍号char(20)primary key)

2.

3.

4.

回收成绩表的权限后

总结:(实验结果及原理的分析)

可以从数据库对象的角度完成相同的工作,即设置一个数据库对象能被哪些用户/角色执行哪些操作。

任务4:

--1.把查询学生表和张姓同学的视图的权限授给用户U1

GRANT SELECT

ON学生

TO U1;

CREATE VIEW张姓同学

AS

SELECT*

FROM学生

WHERE姓名LIKE'张%';

GRANT SELECT

ON张姓同学

TO U1;

我之后用用户U1登陆,验证结果如下:

--2.把对学生表和课程表的全部权限授予用户U2和U3 GRANT ALL PRIVILEGES

ON学生

TO U2,U3;

GRANT ALL PRIVILEGES

ON课程

TO U2,U3 ;

--3.把对成绩表的查询权限授予所有用户

GRANT SELECT

ON成绩

TO PUBLIC;

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

GRANT UPDATE(学号),SELECT

ON学生

TO U4;

--5.把对成绩的INSERT权限授予U5用户,并允许他再将此权限授予其他用户(with grant option)

GRANT INSERT

ON成绩

TO U5

WITH GRANT OPTION;

--验证:

INSERT

INTO成绩(学号,课程号,成绩)

VALUES('20122956','0050219','89');

--6.U5将相应权限授予U6,并允许他再将此权限授予其他用户

GRANT INSERT

ON成绩

TO U6

WITH GRANT OPTION;

--7.U6将相应权限授予U7

GRANT INSERT

相关文档
最新文档