转自:http://gocom.primeton.com/blog16274_23254.htm

db2权限控制

1. DB2 权限控制数据库安全性计划的以下几方面:

  • 授予用户的权限级别
  • 允许用户运行的命令
  • 允许用户读和/或修改的数据
  • 允许用户创建、修改和/或删除的数据库对象

在 DB2 所提供的五种权限中,SYSADM、SYSCTRL 和 SYSMAINT 是实例级权限。 这意味着权限(作用的)范围包括实例级命令和对实例内的所有数据库所执行的命令。这些权限只能指派给某个组;可以通过 DBM CFG 文件来进行指派。

DBADM 和 LOAD 权限是为了某个特定的数据库而指定给某个用户或组的。可以用 GRANT 命令来显式地完成这一工作。

通过发出以下命令,用户可以确定他们具有哪些权限及数据库级别的特权:

db2 get authorizations

注:对组成员资格的任何引用都意味着已经在操作系统级别定义了用户和组名称。

2. DB2 中的 SYSADM 权限类似于 UNIX 上的 root 权限或 Windows 上的 Administrator 权限。对某个 DB2 实例具备 SYSADM 权限的用户能够对该实例、该实例内的任何数据库以及这些数据库内的任何对象发出任何DB2 命令。他们还能够访问数据库内的数据,并能够授予或取消特权和权限。SYSADM 用户是唯一允许更新 DBM CFG 文件的用户。

SYSADM 权限是通过 DBM CFG 文件中的 SYSADM_GROUP 参数来控制的。在创建实例时,在 Windows 上,该参数被设置成 Administrator(虽然在您发出命令 db2 get dbm cfg 时该参数好象为空)。在 UNIX上,该参数被设置成创建实例的主用户组。由于 SYSADM 用户是唯一允许更新 DBM CFG 的用户,因此他们也是唯一允许向其它组授予任何 SYS* 权限的用户。

记住,只有将实例停止然后重新启动,上面的更改才会生效。

3. 具有 SYSCTRL 权限的用户可以在实例内执行所有管理和维护命令。然而,与 SYSADM 用户不同的是,除非向他们授予了访问数据库内任何数据所需的特权,否则他们就不能访问这些数据。

SYSCTRL 用户可以对实例内的任何数据库执行的命令示例有:

  • db2start/db2stop
  • db2 create/drop database
  • db2 create/drop tablespace
  • db2 backup/restore/rollforward database
  • db2 runstats (可以对任何表执行该命令)
  • db2 update db cfg for database dbname

4. 具有 SYSMAINT 权限的用户可以发出的命令是具有 SYSCTRL 权限的用户所允许发出的命令的子集。SYSCTRL 用户只能执行与维护有关的任务。如:

  • db2start/db2stop
  • db2 backup/restore/rollforward database
  • db2 runstats (可以对任何表执行该命令)
  • db2 update db cfg for database dbname

注意:具有 SYSMAINT 权限的用户不能够创建或删除数据库或表空间。除非向他们授予了访问数据库内任何数据所需的特权,否则他们也不能访问这些数据。

5.总的来说,DBADM 用户几乎能够完全控制数据库。但 DBADM 用户不能执行类似下面的维护或管理任务:

  • drop database
  • drop/create tablespace
  • backup/restore database
  • update db cfg for database db name

然而,他们却可以执行下列任务:

db2 create/drop table

db2 grant/revoke (任何特权)

db2 runstats (任何表)

DBADM 用户还被自动授予数据库对象及其内容的全部特权。由于 DBADM 权限是一种数据库级权限,因此可以将它指派给用户和组。

6. LOAD 权限允许用户对表发出 LOAD 命令。在填充具有大量数据的表时,通常使用 LOAD 这种执行更快的命令来替代插入或导入命令。根据您希望执行的 LOAD 类型的不同,仅仅具有 LOAD 权限可能还是不够的。还可能需要对该表具有特定特权。

具有 LOAD 权限的用户可以运行下列命令:

  • db2 quiesce tablespaces for table
  • db2 list tablespaces
  • db2 runstats (任何表)
  • db2 load insert (必须对表具有插入特权)
  • db2 load restart/terminate after load insert (必须对表具有插入特权)
  • db2 load replace (必须对表具有插入和删除特权)

db2 load restart/terminate after load replace (必须对表具有插入和删除特权)

 
 
分类: DB2类

db2权限控制(转)的更多相关文章

  1. DB2 权限控制

    http://blog.csdn.net/liujinwei2005/article/details/8606983 http://www.ibm.com/developerworks/cn/data ...

  2. 尝试asp.net mvc 基于controller action 方式权限控制方案可行性

    微软在推出mvc框架不久,短短几年里,版本更新之快,真是大快人心,微软在这种优秀的框架上做了大量的精力投入,是值得赞同的,毕竟程序员驾驭在这种框架上,能够强力的精化代码,代码层次也更加优雅,扩展较为方 ...

  3. MongoDB 安全和访问权限控制

    MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...

  4. WebGIS中快速整合管理多源矢量服务以及服务权限控制的一种设计思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在真实项目中,往往GIS服务数据源被其他多个信息中心或者第三方 ...

  5. ASP.NET MVC实现权限控制

    这篇分享一下 ASP.NET MVC权限控制.也就是说某一用户登录之后,某一个用户是否有权限访问Controller,Action(操作),视图等 想实现这些功能,需要在数据库创建好几个表:[User ...

  6. springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】

    项目结构:   1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

  7. Appfuse:权限控制

    Appfuse的权限控制依赖于Struts的Menu机制,common下的menu.jsp是对菜单顺序的定义,详细的菜单项和菜单链接及权限再menu-config.xml中控制,如下: <Men ...

  8. .NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制

    项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩过webAPI,但是领导要求必须用这个(具体原因鬼知道),只好硬着头皮上了. 最近刚做完权限这一块,分享出来给大家.欢 ...

  9. 浅谈Yii-admin的权限控制

    说到CMS,最需要有的东西就是权限控制,特别是一些复杂的场景,多用户,多角色,多部门,子父级查看等等.最近在开发一个线下销售的东东,这个系统分为管理员端,省代端,客户端,门店端,销售端, 部门端,部门 ...

随机推荐

  1. 整理的一些常用的CSS HACK

     ie8以下兼容透明都和支持CSS圆角,这两个都要在服务器上才看到效果,可以本地搭建一个服务器如IIS -pie-background: rgba(255, 255, 255, 0.10);/*IE6 ...

  2. [转载] 每个 Python 程序员都要知道的日志实践

    原文: http://python.jobbole.com/81666/ 在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果 ...

  3. 半平面交模板(O(n*n)&& O(n*log(n))

    摘自http://blog.csdn.net/accry/article/details/6070621 首先解决问题:什么是半平面? 顾名思义,半平面就是指平面的一半,我们知道,一条直线可以将平面分 ...

  4. 进程 & 线程相关知识

    不管Java,C++都有进程.线程相关的内容.在这里统一整理吧. Python的线程,其实是伪线程,不能真正的并发.下面也有讲. 线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序 ...

  5. spring-mvc 与 openid4java

    以GoogleOpenID 为例,试验了OAuth单点登录的用法: <dependency> <groupId>org.openid4java</groupId> ...

  6. 图解javascript中this指向

    JavaScript 是一种脚本语言,支持函数式编程.闭包.基于原型的继承等高级功能.JavaScript一开始看起来感觉会很容易入门,但是随着使用的深入,你会发JavaScript其实很难掌握,有些 ...

  7. JDK里面常用的包

    1.java.lang-------java里的核心类,如String.Math.Integer.System.Thread,java.lang里还有一个子包:java.lang.reflect用于实 ...

  8. git status 不可全信

    不要相信git status,除非在操作的过程中, 看git仓库和本地.git之间的差异 -比如我现在在github上某个分支下上传了某个文件,但我在本地git status显示的还是working ...

  9. typedef void (*funcptr)(void)

    定义一个函数指针类型.比如你有三个函数:void hello(void) { printf("你好!"); }void bye(void) { printf("再见!&q ...

  10. win7下载

    正式版WIN7的64位旗舰版 http://pan.baidu.com/share/link?shareid=60038&uk=3960800092 下面是正式win8Windows 8 64 ...