实验四 数据库安全性.doc
文本预览下载声明
+
实验四 数据库安全性实验
一、实验目的
熟悉通过SQL对数据进行安全性控制。
二、实验内容和要求
1、熟练grant,revoke语句进行DAC控制
2、通过创建角色以及授权实验,了解并掌握SQL Server权限控制过程。
三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/xp;
2.数据库管理系统:SQL sever 2000/2005;
四、实验方法、步骤及结果测试
实验题目:
题目1、通过management studio 新建登录用户名mike,使用SQL Server身份认证,密码为mike。其默认数据库为master。
设置过程截图显示
题目2、用SQL语句添加登录用户Candy,密码123456.在management studio中找到candy,右键单击该登录用户,查看默认数据库为什么,给出该账户属性对话框的截图。
CREATE LOGIN Candy WITH PASSWORD=123456
题目3、以mike登录用户身份登录。能否对student数据库进行操作?给出结果截图。如果更改登录用户mike的属性,默认数据库改为student,登录过程中有何问题,给出截图,并简述原因。
原因:mike用户没有更改的权限
题目4、以mike登录用户身份并且作为数据库拥有者的身份登录,默认数据库为student,若要成功登录具体做法应该怎么做。
相应截图:
IF EXISTS (SELECT * FROM sys.server_principals WHERE name = Nmike)
DROP LOGIN [mike]
CREATE LOGIN [mike] WITH PASSWORD=N, DEFAULT_DATABASE=[肖永强], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
ALTER LOGIN [mike] DISABLE
题目5、如果修改mike用户的权限,改为对student数据库所有用户表都只能进行读的操作应该怎么做。修改之后以mike身份登录,向c表中插入一条记录cno=111,cname=www会有什么提示?
相应截图:
Windows登陆
题目6、用SQL语句创建数据库用户candy,对应登录用户candy。在management studio中找到数据库用户candy,查看数据库角色。如果以candy登录,能否操作student数据库,为什么?
create user candy from login Candy
原因:因为Candy登陆用户没有对Student表的操作权限
题目7、重新以数据库管理员身份登录DBMS,利用SQL Server图形化界面新建登录用户名rose,用户名rose(默认数据库为student,暂不设置任何角色成员)
①授予rose查询s表的权利,更新sc中grade的权利。写出sql语句。
GRANT SELECT ON S TO rose
GRANT UPDATE(Grade) ON SC TO rose
②以rose身份登录dbms,查询cs系所有学生信息,写出sql语句给出截图
SELECT * FROM S
WHERE Sdept=CS
③将001号学生的02号课程成绩改为84分。写出sql语句给出截图
GRANT SELECT ON SC TO rose
UPDATE SC
SET Grade=84
WHERE Sno=S0001AND Cno=02
(1 行受影响)
UPDATE S
SET Sname=李玉刚 WHERE Sno=S0001
⑤查询sc中所有信息。写出sql语句给出截图。
SELECT * FROM SC
题目8、重新以数据库管理员身份登录DBMS,
①收回rose查询s表的权利。实现代码及查询结果截图:
REVOKE SELECT ON S TO rose
②以rose身份登录dbms,查询所有女学生的学号和姓名,实现代码及查询结果截图:
SELECT Sno,Sname
FROM S
WHERE Ssex=女
R1拥有s表的select,update权限,写出sql语句
CREATE ROLE R1
GRANT SELECT,UPDATE
ON S TO R1
②将这个角色授予candy,rose,写出sql语句
EXEC sp_addrolemember R1, rose
EXEC sp_addrolemember R1, Candy
③将candy的角色r1删除。以candy登录,查询s表中所有信息。写出sql语句并截图
SP_DROPROLEMEMBER R1,Can
显示全部