·ChinaUnix首页 ·论坛 ·博客 
Linux首页 | Linux新闻 | Linux文档 | Linux论坛 | Linux下载 | Linux博客 | Linux搜索
新手入门 | 安装启动 | 管理员指南 | 开发手册 | 桌面应用 | 程序开发 | 数据库 | 网络技术| CentOS | Fedora | MySQL | Apache | Ubuntu | Gentoo| OSCON08
  Linux时代 >> 技术文档 >> 数据库
 
Oracle 11gR1中细粒度访问网络服务(3)
来源: ChinaUnix博客  日期: 2008.05.19 15:18 (共有条评论) 我要评论
 

作者: 黄永兵 出处:
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>


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_694143.html
  发表评论 查看评论(共有条评论)
 
 


最新资讯更多>> 
· 红帽简化超级计算平台对抗微软..
· Mono 2.0发布 平台差异将进一步..
· 开源备份渐入主流
· Vista太慢 笔记本厂商倾向Linu..
· 业内分析:Solaris还有市场前景..
· 低价Linux笔记本电脑退换比例居..
· Oracle再祭收购大旗,这次红帽..
· 陈向群、杨芙清编著的《操作系..
· Linux发布17周年
· 开发者发行版:openSUSE 11.1 ..
论坛热点更多>> 
· 【转帖】阿纲行走中国500天
· 帖些美女
· 《画皮》
· 我也发个图片吧
· MM生活片断汇总
· PS白蛇--大家可以自己PS跟贴
· 白衣的忧伤
· 企鹅(我所有的){应大家要求..
· RHCA拿的下吗?
· Linux新手 用什么版本好
文档更新更多>> 
· kmess1.5.1在红旗6sp1上的安装方法
· OOo3.0 RC2 发布,中文版可用。
· IT从业人员必看的10大论坛
· SSH权威指南
· DNS相关定义介绍
· OpenVPN(zt)
· Linux shell I/O重定向详解
· linux下的烧写环境配置
· tcpdump详细用法
· 转:ARM的嵌入式Linux移植体验之基..
 
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 友情链接 | 免费注册

Copyright © 2001-2008 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们

京ICP证041476号