zoukankan      html  css  js  c++  java
  • Oracle 11gR1中细粒度会见收集效力(3)

    作者: 黄永兵 因由:51CTO.com 
     


    权限反省

    处置责罚会见节制列表视图外,还可以行使DBMS_NETWORK_ACL_ADMIN包中的CHECK_PRIVILEGE和CHECK_PRIVILEGE_ACLID函数来反省权限。

    CONN sys/password@db11g AS SYSDBA
    SELECT DECODE(
             DBMS_NETWORK_ACL_ADMIN.check_privilege('test_acl_file.xml', 'TEST1', 'connect'),
             1, 'GRANTED', 0, 'DENIED', NULL) privilege 
    FROM dual;
    PRIVILE
    -------
    GRANTED
    1 row selected.
    SQL> 
    COLUMN acl FORMAT A30
    COLUMN host FORMAT A30
    SELECT acl,
           host,
           DECODE(
             DBMS_NETWORK_ACL_ADMIN.check_privilege_aclid(aclid, 'TEST2', 'connect'),
             1, 'GRANTED', 0, 'DENIED', NULL) privilege 
    FROM   dba_network_acls;
    PRIVILE
    -------
    DENIED
    1 row selected.
    SQL>
    

    DBMS_NETWORK_ACL_UTILITY包网罗了匡助坚定年夜概立室的域的函数,DOMAINS表函数按顺序前去通盘年夜概受影响的主机,域,ip所在或子网的集合。

    SELECT *
    FROM   TABLE(DBMS_NETWORK_ACL_UTILITY.domains('oel5-11g.localdomain'));
    COLUMN_VALUE
    -------------------------------
    oel5-11g.localdomain
    *.localdomain
    *
    3 rows selected.
    SQL>
    SELECT *
    FROM   TABLE(DBMS_NETWORK_ACL_UTILITY.domains('192.168.2.3'));
    COLUMN_VALUE
    -------------------------------
    192.168.2.3
    192.168.2.*
    192.168.*
    192.*
    *
    5 rows selected.
    SQL>
    

    DOMAIN_LEVEL函数前去主机,域,ip所在或子网的级数。

    SELECT DBMS_NETWORK_ACL_UTILITY.domain_level('oel5-11g.localdomain')
    FROM   dual;
    DBMS_NETWORK_ACL_UTILITY.DOMAIN_LEVEL('OEL5-11G.LOCALDOMAIN')
    -------------------------------------------------------------
                                                                2
    1 row selected.
    SQL> 
    SELECT DBMS_NETWORK_ACL_UTILITY.domain_level('192.168.2.3')
    FROM   dual;
    DBMS_NETWORK_ACL_UTILITY.DOMAIN_LEVEL('192.168.2.3')
    ----------------------------------------------------
                                                       4
    1 row selected.
    SQL>
    

    在为年夜概立室的主机,域,ip所在或子网盘问会见节制列表视图是这些函数年夜概出格极度有效。

    SELECT host,
           lower_port,
           upper_port,
           acl,
           DECODE(
             DBMS_NETWORK_ACL_ADMIN.check_privilege_aclid(aclid,  'TEST1', 'connect'),
             1, 'GRANTED', 0, 'DENIED', null) PRIVILEGE
    FROM   dba_network_acls
    WHERE  host IN (SELECT *
                    FROM   TABLE(DBMS_NETWORK_ACL_UTILITY.domains('10.1.10.191')))
    ORDER BY 
           DBMS_NETWORK_ACL_UTILITY.domain_level(host) desc, lower_port, upper_port;
    HOST                           LOWER_PORT UPPER_PORT ACL                            PRIVILE
    ------------------------------ ---------- ---------- ------------------------------ -------
    10.1.10.*                                            /sys/acls/test_acl_file.xml    GRANTED
    1 row selected.
    SQL>
    





    版权声明: 原创作品,准许转载,转载时请务必以超链接形式标明文章 原始因由 、作者信息和本声明。否则将深究执法责任。

  • 相关阅读:
    为什么需要Docker?
    一分钟学会《模板方法模式》
    2018再见|2019你好
    三分钟学会《门面模式》
    策略模式原来这么简单!
    外行人都能看得懂的机器学习,错过了血亏!
    我是如何将博客转成PDF的
    面试前必须知道的MySQL命令【explain】
    count(*)、count(1)和count(列名)的区别
    Linux shell去除字符串中所有空格
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1974645.html
Copyright © 2011-2022 走看看