用户权限管理相关习题

第04章 数据库安全性
一、选择题
1、在数据库的安全控制中,授权的数据对象的(B),授权子系统就越灵活。
A、范围越大 B、范围越小 C、约束范围越大 D、约束越细致

解释:我是觉得就像人类一样,人越瘦,占的空间就越小,然后活动就比较灵活。

2、(C)的存取路径是对用户透明,从而具有更高的安全保密性,也简化了程序员的工作和数据库开发的建立的工作。
A、层次模型 B、数据加密 C、关系模型 D、网状模型

解释:这个书里有讲过,关系模型是不需要用户费心存取路径的,数据怎样存储在电脑中是由数据库管理系统决定好的。

3、下面不属于实现安全措施的是(D)
A、授权规则 B、数据加密 C、视图机制 D、日志文件

解释:日志文件是主要记录数据的增删改的事件主要依靠日志文件来备份的。其他三项都是用来保护数据不被盗取和泄露的。

二、填空题
1、计算机系统有三类安全性问题,即技术安全类,管理安全类以及(政策法律类)。

2、在SQL语句中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用grant语句,收回所授的权限用(grant)语句。
注:题目本来就出错,师兄阅读这里要改一下自己的题目。

3、用户权限是由两个要素组成的:数据对象和(操作类型)。

解释:数据对象包含:表格、视图等
操作类型:包含增删改

4、审计一般可以分为用户级审计和(系统级)审计。

解释:一般都是围绕用户和系统。记住就好了。

三、问答题(要背)
1、什么是数据库中的自主存取控制方法和强制控制方法。
自主存储控制:用户对不同的数据库对象,有不同的存取权限,不同的用户对于同一对象也有不同的权限,而且用户也有将其拥有的存取权限转授给其他用户,因此自主存储控制非常灵活。

强制存储控制:每一个数据库对象被标以一定的密级,每一个用户也被授予某个密级许可证,对于任意一个对象,只有具有合法许可证的用户擦可以存取。强制控制存取相对比较严格。

2、完成实验四的内容。

实验目的
1.用SYSTEM账户登录数据库,创建用户A、B、C,密码分别为A、B、C;
Create user A identified by A grant connect resource to B;
B、C是一样的。

2.用SYSTEM账户把CREATE SESSION和CREATE TABLE权限授予给用户A,并允许用户A传递获得的权限;使用以下的ALTER USER命令修改用户A的默认表空间为users,使用户A能在student中插入数据;
grant create session,create table to A with admin option;
ALTER USER A DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;
Grant insert on student to A;

3.用户A连接登录数据库,创建关系模式student(sno,sname,sage)(自定义属性的数据类型),用户A向表student插入数据(插入内容自定义),并执行commit提交数据;
Create table student(sno, varchar2(20) primary key,
Sname varchar2(20) uniqe,
Sage smallInt);
Insert into student values(‘1’,’xiaoming’,’20’);
Commit;

4.用户A把CREATE SESSION、对表student的select和Insert权限授予给B,并允许B传递获得的权限,然后使用用户B登录数据库测试用户B获取的权限(用户B获得student表的权限后,访问student表必须使用A.student);
Grant select ,insert to B with grant option;
Grant create session to B with admin option;
用B登录后执行句子:
Select * from A.student;

5.用户B把CREATE SESSION、对表student的select权限授予给用户C;
Grant create session on,select on student to C;

6.用户C登录数据库,测试获得的权限;
登录C后,就应该是测试select权限:
Select * from A.student;

7.用户A把student的属性sname、age的修改权限授予用户B;
Grant update ( sname,sage) oon student to B;

8.用户A收回用户B对student表的select权限,测试用户B、C是否仍然具有对student表的select权限;
Revoke select on student from B;
测试B、C的select都不行。

9.用户A回收用户B的CREATE SESSION权限,测试用户B、C是否仍然可以连接登录到数据库;
Revoke create session from B;

10.由系统管理员授予用户A创建角色的权限;
Grant create role to A;

11.用户A创建角色MyRole,授予角色MyRole对表Student的select权限以及CREATE SESSION权限;
Create role MyRole ,
Grant select on student ,create session to MyRole;

12.用户A把角色MyRole授予给用户B,并允许用户B对角色进行管理,测试用户B获取的权限;
Grant MyRole to B with admin option;
对于B:grant MyRole to C with admin option;

13.用户B把角色MyRole授予给用户C,测试用户C是否具有对Student表的select权限;
Grant MyRole to C with admin option;
测试C:
Select * from student;

14.用户A回收用户B的MyRole角色权限,测试B、C拥有的对Student表的select权限是否已经回收;
Revoke myRole from B;
对于B、C:select * from A.student;

实验总结
总结实验过程中涉及到的知识点、实验过程中遇到的问题及解决方法。
对于授权离不开关键字grant,对于回收权限离不开revoke;

你可能感兴趣的:(用户权限管理相关习题)