时间:2021-07-01 10:21:17 帮助过:8人阅读
2、sys用户权限回收无级联:当sys回收Tom的创建会话的权限时,Tom无法创建会话,但是Tom授予其他用户的创建会话的权限还会生效!
二、对象权限
1、sys授予用户级联授权权限
--tom不具备查询scott.emp权限 TOM@oracle11g>select * from scott.emp ; select * from scott.emp * ERROR at line 1: ORA-00942: table or view does not exist --tom不具备给marry用户授予查询scott.emp权限 TOM@oracle11g>grant select on scott.emp to marry; grant select on scott.emp to marry * ERROR at line 1: ORA-01031: insufficient privileges --sys用户开始给Tom授权 grant select on scott.emp to tom with grant option; ----tom具备查询scott.emp权限 TOM@oracle11g>select count(*) from scott.emp; COUNT(*) ---------- 14 --tom具备给marry用户授予查询scott.emp权限 TOM@oracle11g>grant select on scott.emp to marry; Grant succeeded. --验证 MARRY@oracle11g>select count(*) from scott.emp; COUNT(*) ---------- 14
2、sys级联回收权限,当sys用户revoke时,Tom不能查询scott.emp,同时marry也不能查询!
SYS@oracle11g>revoke select on scott.emp from tom; Revoke succeeded.
三、角色
概念:角色是一种权限的逻辑集合,我们把用户所需要的权限授予角色,然后将角色再授予用户,用角色的方式管理权限,这样就可以减少数据字典中的垃圾数据,也可以使权限管理更加的灵活。
1、角色的授权使用
--先创建三个角色 SYS@oracle11g>create role r1; Role created. SYS@oracle11g>create role r2; Role created. SYS@oracle11g>create role r3; Role created. --分别授予权限 SYS@oracle11g>grant create session,create table to r1; Grant succeeded. SYS@oracle11g>grant create view to r2; Grant succeeded. SYS@oracle11g>grant create any table to r3; Grant succeeded. SYS@oracle11g>grant r2 to r1; Grant succeeded. SYS@oracle11g>grant r1 to tom; Grant succeeded.
此时的tom就具有r1的权限,而r1又嵌套着r2的权限,实际上tom具有的权限有r1、r2下所有权限; --再将r3授予Tom SYS@oracle11g>grant r3 to tom; Grant succeeded.
此时的tom就具有r1的权限,而r1又嵌套着r2的权限,实际上tom具有的权限有r1、r2、r3下所有权限; --查看权限 TOM@oracle11g>select * from session_roles; ROLE ------------------------------ R1 R2 R3 TOM@oracle11g>select * from session_privs; PRIVILEGE ---------------------------------------- CREATE SESSION CREATE TABLE CREATE ANY TABLE CREATE VIEW
2、授予用户非默认角色(权限的动态管理)
将一个角色授予用户的时候,这个角色就是这个用户的默认角色,也就是说只要用户成功的创建了会话,角色中的权限马上释放;可将自认为危险的权限授予角色,然后授予用户,再把这个角色修改为用户非默认角色,这样用户成功创建会话时角色中的权限不会被释放;
--修改非默认角色 SYS@oracle11g>alter user tom default role all except r3; User altered. --查看得出Tom不具备r3的权限 TOM@oracle11g>select * from session_roles; ROLE ------------------------------ R1 R2 如果想使用r3权限,则需要激活角色,但是只能拥有r3的权限了 TOM@oracle11g>set role r3; Role set. TOM@oracle11g>select * from session_roles; ROLE ------------------------------ R3 如果想要所有角色可见 TOM@oracle11g>set role all; Role set. TOM@oracle11g>select * from session_roles; ROLE ------------------------------ R1 R2 R3
四、用户的资源管理
Oracle用户管理
标签:知识 not font erro 系统权限 管理 tab err 概念