06-Oracle权限传递、角色管理、三种验证机制

--------------------权限传递------------------------------------------
1.sys用户给lisi授予系统权限
grant alter any table to lisi with admin option;
lisi就可以将权限授予给wangwu
grant alter any table to wangwu with admin option;
如果不加with admin option就不能进行权限的传递。

如果用
select * from user_sys_privs;
查询当前用户的系统权限的时候,
就可以看到有ADM这一项,如果是Yes,就可以进行权限的传递,如果是NO,就不能进行权限的传递。
2.sys用户给lisi授予对象权限
授予权限
grant select On A to lisi with grant option;
必须后面加with grant option;

使用select * from user_tab_privs;
查询对象权限,
就可以看到GRN这里为YES。




--------------------------角色管理--------------------------


1.角色即权限的集合。
2.创建角色create role  myrole;
3.将权限放入myrole中
grant create table to myrole;
4.将角色授予用户
grant myrole to zhangsan;
5.删除角色
drop role myrole;
6.有些权限是不能放到角色中的
例如:unlimited tablespace 不受限制的表空间
7.表是属于某一个用户的
角色不属于任意一个用户


-----------------------------Oracle三种验证机制----------------------------
1.如果普通用户的密码丢失了,可以通过sys用户进行修改。
  alert user scott identified by tiger;
2.如果sys用户密码丢失了该怎么办?
1.删除组中的ora_dba的用户,删除PWDorcl.ora文件
2.在cmd执行(entries为可以放几个特权用户)
orapwd file=d:\oracle\product\10.2.0\db_2\database\PWDorcl.ora password
=123456 entries=10 

3.数据库的三种验证机制
操作系统验证
密码文件验证
数据库验证

如果删除系统控制面板中组中的oracle安装时创建的用户,就不能
  不输人密码登录sys
如果删除oracle目录中的,PWDorcl.ora文件
sys用户就不能够登录了。


select * from v$pwfile_users;
查看有多少个特权用户,用sys进行查询。

你可能感兴趣的:(dataBase)