试验5数据库的安全性控制含答案
实验五实验五 数据库的安全性控制数据库的安全性控制 一、实验目的: 1. 通过实验加深对数据安全性的理解,并掌握 SQLServer 中有关用户登 录的认证以及管理办法; 2. 通过实验加深对数据库存储控制机制的理解,通过自主存取控制进行权 限管理,熟悉 SQL Server 中角色管理; 3.通过实验加深对数据安全性的理解,熟悉视图机制在自主存取控制上的应 用。 二、实验内容 1.设置 SQL Server 的混合安全认证模式。在 SQL Server 中的对象资源管理 器中设置安全认证模式。 2.在 SQL Server 中,利用“对象资源管理器”创建一个名为“U1”的登录 用户和数据库用户,密码为 111,并允许其登录 S-T 数据库。 3.在 SQL Server 中,利用代码创建一个名为“U2”的登录用户,密码为 111; 其相应的数据库用户名为 lucky,并允许其登录 S-T 数据库。 4.用“u1”用户名登录后,执行对 students 表的查询操作,说明执行结果, 并分析原因(建议:在启动一个 SQL Server 2008 窗口) 。 分析:没有对 u1 进行其他操作的授权,只能登录而不能进行插入,修改等操作 5.将 students 表的操作权限 select 和 insert 赋予数据库用户 u1,并允许其向 其它用户授权。 6.以“u1”用户名登录,执行对students 和 teacher 表的查询操作,将该运行 结果进行分析。 分析:对比第 4 题,对 U1 进行授权后可以进行相应的操作 7.执行下列代码后,分析用户 u2 能否对 s_t 数据库的 student 表进行 select 和 update 操作,为什么?并用相应的语句验证。 分析:首先grant 给 public 组赋予了查询 ,插入,更新权限,然后给lucky 用户赋予了 对 S 表的所有权限,然后又 revoke 收回了 lucky 的权限,但并没有收回 public 组的权限,而 deny 却收回了 lucky 的更新权限,故查询可实现,而更新不可实现 8.以 sa 登录数据库,在 s_t 数据库的 stc 表上创建选修了课程 B001 的视图 st_view。将该视图上的 select 和列 score 上的 update 权限授予 u1; 9.以 U1 登录,对学号为“0415123”成绩提高10 分,并查看修改后的结果。 10.撤销 u2 账号。 11.创建角色 r1,并向 r1 角色授予 teacher 表的所有权限 提示: USE ‘数据库名’ Create role 角色名 12.将 U1 添加到 r1 角色中,在 u1 用户登录窗口,查询 teacher 表;然后将该 用户从 r1 角色中删除,再以 u1 用户的身份查询 teacher 表;观察并分析结果。 提示: (1)将用户添加到角色中 sp_addrolemember 角色 1 ,用户名 (2)从角色中删除用户 sp_droprolemember 角色 1,用户名 分析:r1 角色被赋予了权限,并加到 u1 用户 分析:ri 角色被删除之后,u1 用户中就没有角色有对 T 表的查询权限了。