
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
信任客户机
TRUST_ALLCLNTS 确定信任哪种类型的客户机。参数有以下可能值:
设想一个场景,DB2 服务器将身份验证设置为 CLIENT、TRUST_ALLCLNTS 设置为 YES。您作为 localuser 登录到一台 Windows 2000 计算机,并在未指定用户 ID 和口令的情况下连接到远程数据库。那么 localuser 将成为数据库处的连接授权 ID。而如果您想使用其他用户 ID 连接到数据库(例如,有执行数据库备份权限的 poweruser),又会怎么样呢?
为允许此类行为,可使用 TRUST_CLNTAUTH 来指定,当在 connect 语句或 attach 命令中提供了用户 ID 和密码时将在何处进行身份验证。允许使用的值有两个:
让我们来看一些演示参数用法的示例:

设置权限级别
权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。在 DB2 中共有 5 种权限:

SYSADM
具有管理实例的完整特权,还可访问底层数据库中的数据。
SYSCTRL 和 SYSMAINT
拥有管理实例、其数据库和数据库对象的特定特权。这些权限不含 访问数据的权限。例如,像 'SELECT * FROM mytable' 或 'DELETE FROM mytable' 这样的语句是不允许的。
DBADM
拥有在特定数据库上执行管理任务的特权。还具有数据库的完整数据访问权限。
LOAD
拥有对指定数据库运行加载实用工具的特权。
下表总结了各权限可执行的功能。

管理 DB2 权限
SYS* 权限是在数据库管理器配置中设置的,通过将操作系统或安全性设施中定义的用户组指派给关联的参数进行设置。它必须是最大长度为 8 个字符的组名称,如下所示。

DBADM 和 LOAD 是数据库级的权限。使用 grant 语句可授予用户或用户组这些权限,使用 revoke 语句可予以撤销权限:
connect to sample;
grant dbadm on database to user john;
grant load on database to group dbagrp;
revoke load on database from group dbagrp;
请注意,具有 LOAD 权限的用户也需要表上的 INSERT 特权,之后才能加载数据。下一节将讨论特权。
设置特权
特权给予用户通过特定方式访问数据库对象的权力。如下列表给出了不同数据库对象的特权摘要。
数据库特权:
模式特权:
要显式地创建新模式,可使用 create schema 命令:
connect to sample user dbowner;
create schema dev authorization devuser;
表空间特权:
表与视图特权:
包特权:
索引特权:
例程特权:
顺序特权:
授予显式特权
授予特权 with grant option 允许授权 ID 将特定特权扩展给他人。该选项仅对包、例程、模式、表、表空间和视图可用。
尽管特权的授予是可扩展的,但撤销特权并非如此。若通过 with grant option 获得了特权,用户不能撤销他人的特权。示例如下。
该语句允许 john 在表 employee 上执行 select、update 或 delete 操作,并可将这些特权授予他人: grant select, update, delete on table employee to user john
with grant option
该语句允许 devusers 组中的用户重新绑定、删除及执行包 dev.pkg1。同一组的用户还可将 BIND 和 EXECUTE(但不包括 CONTROL)特权授予他人。 grant control on package dev.pkg1 to group devusers
with grant option
授予隐式及间接特权
典型情况下,DB2 特权是通过 grant 语句显式授予的,方法如前所述。有时用户可能还要隐式或间接地通过执行的特定操作获得特权。让我们来看一些场景。
DBADM 权限将被授予数据库创建者。
CONNECT、CREATETAB、BINDADD 和 IMPLICIT_SCHEMA 特权将被授予 PUBLIC。
USERSPACE1 表空间上的 USE OF TABLESPACE 特权将被授予 PUBLIC。
各成功绑定实用工具上的 BIND 和 EXECUTE 特权将被授予 PUBLIC。
SYSFUN 模式中所有函数的 EXECUTE 特权 with grant option 将被授予 PUBLIC。
