1、增加一个操作系统用户
groupadd test---添加用户组test
useradd -m -g test -d /home/test test---添加用户test
passwd test---修改test的密码
2、赋予用户DB2权限
db2 connect to sample---连接到sample数据库
db2 grant connect on database to user test---赋予test用户sample数据库的connect权限
db2 connect reset--关闭连接
1、创建系统用户dbuser/ehong隶属于db2users
2、C:\Program Files\IBM\SQLLIB\BIN>db2 connect to AKZXTEST
数据库连接信息
数据库服务器 = DB2/NT 9.7.3
SQL 授权标识 = ADMINIST...
本地数据库别名 = AKZXTEST
3、给用户授权
授予连接权限
C:\Program Files\IBM\SQLLIB\BIN>db2 grant connect on database to user dbuser
DB20000I SQL 命令成功完成。
这里可以授予的数据库级特权有:
CREATETAB: 用户可以在数据库中创建表。
BINDADD: 用户可以使用 BIND 命令在数据库中创建包。
CONNECT: 用户可以连接数据库。
CREATE_NOT_FENCED: 用户可以创建 unfenced 用户定义函数(UDF)。
IMPLICIT_SCHEMA: 用户可以在数据库中隐式地创建模式,而不需要使用 CREATE SCHEMA 命令。
LOAD: 用户可以将数据装载进表中。
QUIESCE_CONNECT: 用户可以访问处于静默(quiesced)状态的数据库。
CREATE_EXTERNAL_ROUTINE: 用户可以创建供应用程序和数据库的其他用户使用的过程。
secadm:安全性管理员
Dbadm:DBADM 用户对一个数据库有几乎完全的控制能力。DBADM 用户不能执行某些维护或管理任务
4、测试连接
C:\Program Files\IBM\SQLLIB\BIN>db2 connect to AKZXTEST user dbuser using ehong
数据库连接信息
数据库服务器 = DB2/NT 9.7.3
SQL 授权标识 = DBUSER
本地数据库别名 = AKZXTEST
###############################################
db2数据库特权大体上分成两类:数据库级特权(针对数据库中的所有对象)和对象级特权(与特定的对象相关联)。
1、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 权限是一个数据库级权限,所以它可以被分配给用户和用户组。以下命令演示授予 DBADM 权限的不同方法。
* db2 create database test
这个命令将数据库 test 上的 DBADM 权限隐式地授予发出此命令的用户。
* db2 connect to sample
db2 grant dbadm on database to user tst1
这个命令只能由 SYSADM 用户发出;它向用户 tst1 授予示例数据库上的 DBADM 权限。注意,在授予 DBADM 权限之前,发出这个命令的用户必须连接到示例数据库。
* db2 grant dbadm on database to group db2grp1
这个命令将 DBADM 权限授予 db2grp1 组中的每个用户。同样,只有 SYSADM 用户能够发出这个命令。