数据库系统实验报告_实验三_数据控制(安全性)

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

可得到最后界面如下:

3.以sa用户(DBA)登录,运行教材上

4.2.4中的例1~例7对7个新用户授权。

每运行一个例子后,以相应的用户名重新登录,验证新用户是否具有授予的权限。

注:SQL Server中的权限授予与回收命令与教材例题上的细节有所不同,这里只写出在SQL 2000中的权限授予与回收命令语句。

【例1】把查询student表的权限授给用户u1。

GRANT SELECT

TO u1;

执行完授权语句后,用u1登录,验证其是否已有查询权利。

重新连接数据库,登录界面如下:

用u1登录后,执行一条SELECT命令,显示了查询结果如下所示,说明u1已具有了对student表的查询权限。

【例2】把对student表和course表的全部操作权限授予用户u2和u3。

GRANT ALL PRIVILEGES

ON student

TO u2,u3;

GRANT ALL PRIVILEGES

TO u2,u3;

执行完授权语句后,用u2登录,验证其是否已有所有权利。

用u2登录后,执行两条SELECT命令,显示了查询结果如下所示,说明u2已具有了对student表的查询权限,再执行INSERT命令,DELETE命令,UPDATE 命令,同样可得到结果。说明u2已具有了对student表和SC表的所有权限。

同u2一样,u3也已具有了对student表和SC表的所有权限。

【例3】把对表SC的查询权限授予所有的用户。

GRANT SELECT

ON SC

TO PUBLIC;

【例4】把查询student表和修改学生学号的权限授予用户u4。

GRANT UPDATE(Sno),SELECT

ON student

TO u4;

执行完授权语句后,用u4登录,验证其是否已有相应权利。

用u4登录后,执行一条SELECT命令和一条UPDATE命令,显示了查询结果如下所示,说明u4已具有了对student表的查询权限,和对学生学号的修改权限。

【例5】把对表SC的insert权限授予u5用户,并允许将此权限再授予其他用户。

GRANT INSERT

ON SC

TO u5

WITH GRANT OPTION;

执行完授权语句后,用u5登录,验证其是否已有相应权利。

执行完INSERT

INTO SC(Sno,Cno)

V ALUES(‘200215128’,’1’)

INSERT

INTO SC(Sno,Cno)

V ALUES(‘200215128’,’3’)

语句后,由于在例3中把对表SC的查询权限授予所有的用户,所以通过查询命令显示结果如下:

【例6】用户u5可以将此权限授予u6

GRANT INSERT

ON SC

TO u6

WITH GRANT OPTION;

【例7】u6可以将此insert权限授予u7。

GRANT INSERT

ON SC

TO u7;

用户u7对SC进行插入操作如下:

4、以sa用户(DBA)登录,运行教材上4.2.4中的例8~例10语句进行权限的回收。在权限回收后,以相应的用户名重新登录,验证新用户是否真正丢失了对数据的相应权限。

【例6】把用户u4修改学生学号的权限收回。

REVOKE UPDATE(Sno)

ON student

FROM u4

用u4登录后,执行UPDATA语句,执行失败,该用户不具有

【例7】收回所有用户对表SC的查询权限。

REVOKE INSERT

ON SC

FROM PUBLIC

相关文档
最新文档