用户权限、角色管理

时间:2021-06-27 18:56:13
用户管理
1.创建用户,用户第一次登录后,需要重新更改密码
sys@TEST>create user sangmu identified by sangmu password expire;
2.给新创建的用户授予创建会话的权限
sys@TEST>grant create session to sangmu;
3.将登录会话的权限给收回
sys@TEST>revoke create session from sangmu;
4.查看用户拥有的系统权限
sys@TEST>select privilege from dba_sys_privs where grantee='SANGMU';
sangmu@TEST>select * from user_sys_privs;
5.查看所有用户和状态
sys@ORCL>select username,account_status from dba_users;
角色
 
查看系统所有的角色
sys@TEST>select * from dba_roles;
查看当前用户所拥有的所有角色
sangmu@TEST>select * from user_role_privs;
sys@TEST>select * from dba_role_privs where grantee='SANGMU';
1.创建一个角色
sys@TEST>create role r1;
2.授予角色权限
sys@TEST>grant create session,create table to r1;
3.将角色权限赋予给用户
sys@TEST>grant r1 to sangmu;
4.将角色权限赋予给另一个角色
sys@TEST>grant r2 to r1;
------------------------------------------
查看用户所拥有的角色
sys@TEST>select * from dba_role_privs where grantee='SANGMU';
设置默认角色
sys@TEST>select * from dba_role_privs where grantee='SANGMU';
sys@TEST>select * from dba_role_privs where grantee='SANGMU';
sys@TEST>alter user sangmu default role none;
注:如果就设置了一个默认的角色那么其它角色都改为非默认角色。默认角色在用户登录数据库时候自动启动,而非默认角色需要手动启动才行。可以使用命令set role R1;或者全部启动 set role all;
 
---------------------------------
dba col privs                   描述db中所有列对象的授权,就是具体到某个字段的那些授权    
all col privs                      描述当前用户或者具有public权限用户的所有列对象授权     
user col privs                   描述列对象权限,这些权限的授予者或者被授予者,是当前用户。
all col privs made           描述列对象权限,这些权限的所有者或者授予者是当前用户
user col privs made        描述列对象权限,这些权限的授予者是当前用户,
all col privs recd             描述列对象权限,这些权限的被授予者是当前用户或者public
user col privs recd          描述列对象权限,这些权限的被授予者是当前用户
dba tab privs                   数据库中所有表的授权
all tab privs                     描述表权限,这些权限的授予者是当前用户或者public
user tab privs                  列出当前用户是其被授予者所有对象的授权
all tab privs made           描述当前用户所做的,或者在当前用户所拥有的对象上的对象授权
user tab privs made        列出在当前用户所拥有的所有对象上的授权
all tab privs recd             描述对象授权,这些授权的被授予者是当前用户或者public
user tab privs recd          描述对象授权,这些授权的被授予者是当前用户
dba roles                       数据库中存在的所有角色            
dba role/sys privs              授予给用户或角色的角色/系统权限
user role/sys privs             授予给当前用户的角色/系统权限
role role privs                 授予给其他角色的角色,只是该用户可以访问的角色信息
role sys privs                  授予给角色的系统权限的信息,提供的只是该用户可以访问的信息
role tab privs                  授予给角色的对象权限的信息,提供的只是该用户可以访问的信息
session privs/roles             用户当前激活的权限和角色