DB2实验教程-管理权限
Titleuserdba
描述:DB2User
db2selectnamefrominst1.artists
netlocalgroupMAINT1usermnt/add
6.作为具有sysadm权限的用户,usersys可以更新数据库管理器配置文件。如:
但是该操作是被禁止的,因为userdba不再具有数据库管理权限,不能再对其他用户模式下创建的数据进行操纵。
2.在DB2命令窗口中输入下列命令,可以查看ADM1组中的用户。
下面以usersys来作数据库系统管理员。首先通过inst1实例的数据库管理器配置参数,查看一下当前的系统管理员组是否是AMD1。
在控制中心,在MUSICDB数据库的用户和组左侧单击+号,选择DBGroup,然后在内容部分选择PUBLIC,右键选择change,然后去掉其连接数据库、创建表、创建包等选项。
netlocalgroupCTRL1userctl/add
从控制中心,可以查看到更改后配置参数。
13.在userctl的命令窗口中,为MUSICDB数据库指定一个新的别名:
(2)NOFENCE列包含一个“not”符号,这表示PUBLIC组不具有创建NOTFENCED用户自定义函数的特权,该工作需要授予某个用户,和创建用户自定义函数相关的另一个命令CREATEEXTERNALROUTINE也不缺省地授予PUBLIC的特权。
三.DB2用户和组特权
我们会发现该用户具有SYSCTRL权限,即系统控制权限。
db2droptableinst1.dlc
A.熟悉DB2UDB中PUBLIC组的默认特权;
db2forceapplicationall
(1)使用Windows控制面板中的用户管理程序按下列要求创建一个新用户:
db2grantuseoftablespacedms04touseruser1
然后输入下列命令:
db2select*frominst1.music
usermnt用户具有SYSMAINT权限,即系统维护权限。
db2stop
netlocalgroupADM1
(2)user1用户要想实现上述操作,可以通过其他用户对其授权实现,假设corp_spy用户具有相应的权限,可以实现对user1用户的授权。在DB2的命令窗口中输入下列命令即可:
db2connecttomusicdb
17.在userdba的命令窗口中,输入下列命令,连接到MUSICDB数据,并执行如下操作:
db2insertintoinst1.albumsvalues('DB2ConnectisMyLife',99,310)
这三个语句均不能够成功执行,都会遇到权限错误。因为SYSCTRL权限不能够访问数据库对象,而SYSMAINT权限是SYSCTRL的子集,对SYSCTRL不能完成的操作,SYSMAINT也不能实现。
输入下列SQL语句:
(1)user1可以通过下列方法可查看MDS04表空间的ID:
C.能够对单个用户和组授予特权;
db2getauthorizations
netlocalgroupSTAFF/add
db2updatedbmcfgusingsysctrl_groupctrl1sysmaint_groupmaint1
1.建立新用户user1
db2insertintoinst1.albumsvalues('RustleUp',99,311)
1.以userdba用户身份,将下列内容插入到inst1.artists表中。
2.从DB2的控制中心,确定当前数据库的所有用户的默认权限。
db2createtabletest1(col1char(1))
db2droptableinst1.reorder
(2)在命令中心的交互页面,输入下列命令:
该语句不能够成功执行,因为user1用户在DMS04表空间上没有USE特权。
3.在DB2命令窗口中输入下列命令,将usersys添加到ADM1组中,并可通过netlocalgroupADM1命令查看加入usersys用户后ADM1组中用户的变化。
从DB2控制中心,选择MUSICDB数据库,右键选择”权限”,然后分别选择“组”和“用户”页,查看有哪些组和用户,分别具有什么样的权限?
db2connecttomusicdbuseruserctlusinguserctl
(4)要查看所有的授权信息,可以通过SYSCAT.DBAUTH视图来进行。
2.系统维护权限用户usermnt没有SQL特权,从userdba的命令窗口对其授予delete特权:
netuseruserctluserctl/add
5.在命令中心,列出表空间DMS04中的所创建的所有表。
(1)具有授权的任一个ID用户可以对MUSICDB进行的操作包括:创建数据库、添加新的PACKAGES,连接到数据,以及隐式地创建模式等。
connecttomusicdb;
此时,该语句就会成功执行。
该更改生效,需要执行下列语句:
connecttomusicdb
由于CREATETAB特权被撤销,所以用户user1不能够再创建该数据表。但是此时user1与数据库的连接仍然处于活动状态。 D.清楚何时组特权可用和何时需要个人特权等。 db2grantdeleteoninst1.artiststopublic
14.在userctl和usermnt的命令窗口中输入db2terminate命令。
4.验证建表权限
terminate;
5.如果userdba是数据对象的创建者,当被撤销数据库管理权限时,仍可执行如上的操作。如对userdba创建的表test1,仍可进行下列操作:
db2terminate
db2selectnamefrominst1.artists
4.在DB2命令窗口中输入titleusersys。
10.在usermntl的命令窗口中,输入下列语句以查看该用户具有的权限:
15.将userdba添加为数据库管理员。在控制中心,右键点击MUSICDB数据库,选择Authorities,然后单击ADD命令,在用户页面,选择用户userdba,并为其添加DBADM权限。添加后可以通过控制中心,在DBAUTH视图中查看到该用户的权限。
db2createtabletest1(col1char(1))
db2insertintoinst1.albumsvalues('DB2ConnectisMyLife',99,310)
6.通过db2terminate和exit命令分别关闭用户userdba、usermnt、usersys等对话窗口。
二.DB2的权限
db2deletefrominst1.albumswhereitemno=310
6.以用户inst1身份,通过GUI将表user1.test1从数据库中删除。这里需要清楚的是,inst1之所以能够删除该表,是因为该用户具有系统管理员权限。
实验任务:
forceapplicationall;
(3)将stock表的更新权限授予user1用户:
1.Inst1既是Windows的管理员,又是DB2的系统管理员。用inst1的Windows管理权限创建四个新的用户:usersys,userctl,usermnt和userdba,密码与用户名相同。在DB2的命令窗口,输入下列命令:
netlocalgroupCTRL1/add
db2select*fromtest1
一.默认的PUBLIC特权
用户名:user1
该语句会成功执行,因为从表artists中查询数据的特权被授予了PUBLIC,该特权可以通过控制中心,在用户和组的查看。需要清楚,和SYSCTRL权限相关的特权不是对特定表的,而是面向实例的。
db2getauthorizations
db2connecttomusicdbuserusermntusingusermnt
db2connecttomusicdbuseruser1usinguser1
db2catalogdbmusicdbasctrlsdb
db2createtabletest1(partnointeger,subpartinteger)inDMS04
打开DB2命令窗口,输入“titleuser1”。以user1用户连接到数据MUSICDB
netuseruserdbauserdba/add
db2connecttomusicdbuserusersysusingusersys
db2getsnapshotforlocksonmusicdb|more
db2droptabletest1
db2grantdeleteoninst1.albumstousermnt
16.将userctl的的命令窗口标题改为userdba。
db2"createtabletest1(partnointeger,subpartinteger)inDMS04"
db2"createtabletest1(partnointeger,subpartinteger)inDMS04"
由于PUBLIC组中,SELECT是默认的特权,自然user1用户也能够执行查询操作。
密码:user1
5.从usersys对话,可以确认usersys已经具有了相应的权限。
8.通过title命令分别为userctl和usermnt两个标题分别为userct和usermn命令提示窗口。
(3)在LOAD列上也具有“not”符号,表示PUBLIC组不能够进行LOAD操作,只有SYSADM,DBADM,或在数据库上具有LOAD及与LOAD操作相关的其他操作特权的用户,可以进行LOAD操作。
虽然在第一部分中的Revoke已经撤销了部分public特权,但这些语句全部能够成功执行,因为数据库系统管理员可以完成任何工作。
在控制中心,在MUSICDB数据库下选择Views,然后选择TABLESPACES视图,并用右键查看其内容,可以看到DMS04的ID为6。
selecttabschema,namefromsyscat.tableswheretbspaceid=6
titlecorp_spy
(1)输入下列SQL语句:
这些用户具有数据库管理员权限。要是其他用户也要具有该权限,需要将其加入到ADM1组中。
netlocalgroupADM1usersys/add
netlocalgroupMAINT1/add
全名:USER1
db2“selectsubstr(tbspace,1,18)fromsyscat.tablespaces”
12.在userctl的命令窗口中,执行下列SQL语句:
3.建立一个以不同用户连接到数据库MUSICDB的对话。
7.撤销PUBLIC的默认权限。
db2revokedeleteoninst1.artistsfrompublic
B.学会管理DB2权限(SYSADM,SYSCYRL,SYSMAINT和DBADM),熟悉各种权限的操作能力;
9.在userctl的命令窗口中,输入下列语句以查看该用户具有的权限:
11.在userctl的命令窗口中,输入下列语句(此时不要做其他任何授权操作):
netuserusermntusermnt/add
3.从usermnt的命令窗口,连接到数据库MUSICDB,并执行表inst1.albums的删除行操作:
db2connecttomusicdbuserusermntusingusermnt
(2)在命令中心中输入如下命令确保没有应用程序或用户连接到INST1实例:
grantupdateonstocktouser1;
7.在DB2命令窗口,创建一个名为CTRL1的组,并为之添加一个成员userctl,然后创建一个MAINT1组,并添加一个用户usermnt。
8.再以user1用户创建表test1:
(3)user1用户可以重新输入下列命令来实现上述操作:
db2start
netuserusersysusersys/add
db2createtableinst1.dlc(col1char(1))
4.如果上述删除操作被inst1发现,并且inst1通过与授权相似的方式,将userdba的DBADM权限收回。同时,userdba想将删除的内容重新插入:
netlocalgroupSTAFFuserdba/add
db2selectnamefrominst1.artists
相关热词: 教程
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/6122.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
