转自: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. 用一张图片制作skybox图片 (如何制作360全景图、立方体)

    我转发的帖子在这里 http://dong2008hong.blog.163.com/blog/static/4696882720140294039205/ 原帖不知道地址 我这里简单整理了下 去掉了 ...

  2. [转]十款提高开发效率的PHP编码工具

    1 . PHPUnit 测试在软件开发中是相当重要的一环,但很多开发者都只是给予很少的时间去测试,因为这工作的确相当耗时,枯燥并且容易出错.为了解决以上问题,自动化测试工具能让开发者编写一系列测试脚本 ...

  3. iOS - Swift 与 Objective-C 互相操作

    前言 在 Swift 语言中,我们可以使用 Objective-C.C 语言编写代码,我们可以导入任意用 Objective-C 写的 Cocoa 平台框架.Objective-C 框架或 C 类库. ...

  4. web前端学习(一) html+js实现文本框背景及只读属性修改

    因为工作需求接触了html+javascript,对于从事嵌入式开发,一直接触c和汇编的我,感觉这种语言是一个的全新的领域,宽松的语法要求,等同于文本逻辑的输出,当然我并不认为它简单,错误检查的缺少让 ...

  5. easyui 进度条

    进度条创建 $.messager.progress({ title:'请稍后', msg:'正在努力...' }); 进度条关闭 $.messager.progress('close'); 弹窗对话框 ...

  6. 笔试——JAVA相关

    1. String 和 StringBuffer 的区别(转自http://pengcqu.iteye.com/blog/487538) Java笔试题经常考到“String和StringBuffer ...

  7. extern 关键字

    1 http://baike.baidu.com/view/963932.htm?fr=ala0_1_1 extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和 ...

  8. spring 配置触发器

    原转发的博文 http://blog.csdn.net/liaq325/article/details/8269439 在Spring中配置Quartz 前面介绍过了Timer在Spring中的实现, ...

  9. fedora 关闭、禁止selinux

    Fedora关闭/禁用SELinux三种方法 在Fedora中有时候我们想关闭SELinux,因为有时候本是合法的操作也总是弹出窗口阻止我们的操作.下面介绍三种方法来关闭/禁用SELinux. 1.在 ...

  10. iOS开发 Date转字符串

    + (NSString *)formatterDate:(NSNumber *)desDate WithDateFormatter:(NSString *)formatter{ NSDateForma ...