转自: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. DOM解析XML练习

    首先以XML文件存储数据,格式如下(作为数据库) exam.xml <?xml version="1.0" encoding="UTF-8" standa ...

  2. iOS - AFNetworking 网络请求

    前言 在 iOS 开发中,一般情况下,简单的向某个 Web 站点简单的页面提交请求并获取服务器的响应,用 Xcode 自带的 NSURLConnection 是能胜任的.但是,在绝大部分下我们所需要访 ...

  3. poj1696Space Ant(逆时针螺旋形)

    链接 贪心做法,没次找最外面的点,也就是相对前面那条线偏转角度最小的点,除第一个点需要找到最下面的点即Y坐标最小,其余的每次进行极角排序. #include <iostream> #inc ...

  4. Java 文件IO

    文件IO Java IO    IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中    按操作数据分为 字节流和字符流        字符流的 ...

  5. NDK与JNI

    什么是NDK(android native develop kits) :android 本地开发工具集,可以把c/c++编译成一个linux下可以执行的二进制文件 java代码里面就可以通过jni ...

  6. Windows不重启就使环境变量修改生效

    以修改环境变量“PATH”为例,修改完成后,进入DOS命令提示符,输入:set PATH=C: ,关闭DOS窗口.再次打开DOS窗口,输入:echo %PATH% ,可以发现“我的电脑”->“属 ...

  7. armp启动

    1.启动apahcehttpd.exe -k starthttpd.exe -k restart 重启httpd.exe -k install 安装 2.php启动apache.conf文件添加:Lo ...

  8. 树 - 从零开始实现by C++

    参考链接:数据结构探险之树篇

  9. 游戏引擎/GUI的设计与实现-常见GUI架构

    以X Window为代表的客户/服务器架构. X Window通常是指X服务器及封装了通信协议的客户端库.服务器端主要负责输入事件的分发,窗口层次的管理,以及显示输出的处理,其它功能基本上都是在客户端 ...

  10. 两端对齐(兼容较好,支持IE)

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...