1 all previleges语法错误 2 3 二、数据库的安全性控制 4 1、存取控制 5 ①自主存取控制(DAC)(C2级) 6 [例1] 把查询Student表权限授给用户U1 7 grant select 8 on student 9 to u1 10 [例2] 把对Student表和Course表的全部权限授予用户U2和U3 11 12 [例3] 把对表SC的查询权限授予所有用户 13 grant select 14 on sc 15 to public 16 [例4] 把查询Student表和修改学生学号的权限授给用户U4 17 grant select, update(sno) 18 on student 19 to u4 20 [例5] 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 21 grant insert 22 on sc 23 to u1 24 with grant option 25 [例8] 把用户U4修改学生学号的权限收回 26 revoke update(sno) 27 on student 28 from u1 29 [例9] 收回所有用户对表SC的查询权限 30 revoke select 31 on sc 32 from public 33 [例10] 把用户U5对SC表的INSERT权限收回 34 revoke insert 35 on sc 36 from u1 cascade 37 38 2、数据库角色 39 [例11] 通过角色来实现将一组权限授予一个用户。 40 create role r1 41 grant select, update, insert 42 on student 43 to r1 44 将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限 45 grant r1 46 to 王平, 张明, 赵玲 47 一次性通过R1来回收王平的这3个权限 48 revoke r1 49 from 王平 50 [例12] 角色的权限修改 51 grant delete 52 on student 53 to r1 54 revoke select 55 on student 56 from r1 57 自主存取控制缺点:可能存在数据的“无意泄露” 58 原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记 59 60 ②强制存取控制 61 (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体 62 (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体 63 实现MAC时要首先实现DAC 64 DAC与MAC共同构成DBMS的安全机制 65 66 视图机制: 67 create view cs_student 68 as 69 select * 70 from student 71 where sdept = 'cs' 72 在视图上进一步定义存取权限 73 grant select 74 on cs_student 75 to u1 76 77 审计机制:(编译不成功) 78 audit alter, update 79 on sc 80 noaudit alter, update 81 on sc 82 ------------------------------------------ 83 创建用户: 84 create login lwh with password = '123', default_database = student 85 更改用户密码: 86 alter login lwh with password = '123456' 87 删除用户: 88 drop login lwh