zoukankan      html  css  js  c++  java
  • 一次delete基表回收DBA权限的危险性操作

    1.0事件还原:
    测试库某个对象,使用具有DBA角色用户导出,生产环境普通用户无法导入数据,因此需要回收测试库dba角色,revoke无法回收

    2.0操作流程

    回收角色报错

    测试环境测试,delete删除基表是否回收角色

    实际测试库进行操作

    3.0实际操作
    3,1回收角色报错信息:
    revoke dba from xxx;
    ORA-08103: object no longer exists;对象不存在;

    --查询对象名称:
    select * from dba_users where username='xxx';
    发现用户名称,状态Open;

    --查询用户拥有的角色:---登陆查询的用户
    select * from user_role_privs;


    3,2测试 delete删除记录
    delete删除DBA角色;
    ---创建测试用户:
    create user a_b identified by a_b;
    grant connect to a_b;
    查询用户具有的角色;
    SQL> select * from user_role_privs;
    USERNAME             GRANTED_ROLE         
    ------------------------------ -----------------------
    A_B                            CONNECT                    

    --查询用户ID;
    select user#,name from user$ where name='A_B';
      99 A_B
    --查询用户低层权限;
    select grantee#,privilege#,option$,sequence# from sysauth$,user$ where user$.user#=
    grantee# and user$.user#=99;    xx号;
            99          2  ( CONNECT    )   1519 

    授予第二个角色,再次查询视图记录grant resource to a_b;

            99        -15                  1520
            99          2                  1519
            99          3                  1521
    授予第三个DBA角色,再次查询视图记录
    grant dba to a_b;
    --查询;
            99        -15                  1520
            99          2                  1519
            99          3                  1521
            99          4                  1523
    --以上,查询验证了基表的相关记录

    --如下,进行delete测试

    删除:UID查询,DBA,经测试PRIVILEGE为:4;
    delete from sysauth$ where grantee#=  UID and privilege#= xx;
    commit;            ---此时发现失误可以回滚:rollback;
    --从底层删除角色;
    --commit后,如果被回收的用户需要exit,重新登陆才生效;
    --如何查询是否验证,回收DBA角色是否生效;
    使用视图:select * from user_role_privs;  查询角色
       connect / resource
    使用视图:select * from user_sys_privs; 查询用户拥有的系统权限;
    --需要关注的是否有:UNLIMITED TABLESPACE (无限使用表空间存储)
    --如果没有,需要重新授予:
    grant unlimited tablespace to xxx;

    验证!!!
    使用视图:select * from session_privs;  
        !!!查询的当前会话拥有的权限:如果有DBA,200多,此时回收后查询正常10多项;

    -----------------------------------------------------------------题外一:如果用户没有unlimited tablespace--------------------------------------
    (指定给予了限额除外:alter user abc quota 38m on users)

    SQL> create table t1(id int,name varchar2(20));
    SQL> insert into t1 values(1,'aa');
    insert into t1 values(1,'aa')
                *
    ERROR at line 1:
    ORA-01950: no privileges on tablespace 'TS_A'
    SQL> show user;
    USER is "SCOTT"
    SQL> select * from user_sys_privs;
    ------------------------------ ---------------------------------------- ---
    SCOTT                          CREATE VIEW                              NO

    SQL> select * from user_role_privs;
    ------------------------------ ------------------------------ --- --- ---
    SCOTT                          CONNECT                        NO  YES NO
    SCOTT                          RESOURCE                       NO  YES NO

    SQL> conn / as sysdba
    SQL> grant unlimited tablespace to scott;
    SQL> conn scott/tiger
    SQL> select * from user_sys_privs;
    USERNAME                       PRIVILEGE                                ADM
    ------------------------------ ---------------------------------------- ---
    SCOTT                          CREATE VIEW                              NO
    SCOTT                          UNLIMITED TABLESPACE                     NO

    *特点一
    ADM~代表是否允许联级授予:如果需要的话:
    grant unlimited tablespace to scott with admin option;
    *特点二、unlimited tablespace这个权限是在授予resource角色附带的;
    此次情况是授予了DBA角色,然后回收,附带也把这个权限回收了;

    3.3测试库进行delete操作

    delete from sysauth$ where grantee#=233 and privilege#=4;

    commit;

  • 相关阅读:
    【二分匹配】【匈牙利算法即由增广路求最大匹配模板】
    【字符串入门专题1】【hdu4763】【未ac题】【扩展kmp exkmp】
    【字符串入门专题1】hdu3613 【一个悲伤的exkmp】
    【如何用XAMPP搭建Wordpress建站环境】
    面向过程要素
    当前阶段--可确定--完善版--学习结构--2016.09.10
    什么时候用工厂模式-----转载
    《EffectiveJava中文版》
    《ARM LINUX内核源码解析》
    《深入分析javaweb技术内幕》
  • 原文地址:https://www.cnblogs.com/lvcha001/p/7663532.html
Copyright © 2011-2022 走看看