如何检查DB2 SYSADM或SYSCTRL授权的用户。
我需要通过DB2权威的手段,创建/删除数据库来验证用户/密码。 对此有任何具体的命令?
我需要告诉用户是否有创建和删除数据库的权限的命令来验证用户名/密码(指企图射击数据库创建命令之前验证)或没有。
如何检查DB2 SYSADM或SYSCTRL授权的用户。
我需要通过DB2权威的手段,创建/删除数据库来验证用户/密码。 对此有任何具体的命令?
我需要告诉用户是否有创建和删除数据库的权限的命令来验证用户名/密码(指企图射击数据库创建命令之前验证)或没有。
db2 connect
db2 get authorizations
这就是我如何从UNIX外壳做它,它不应该是很难适应的java同等学历;
createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES')
if [[ $createdb ]]; then
echo 'Do it'
fi
试试这个; 它暗示ID已经在下面的查询中引用的视图中进行选择;
select 1 from
sysibmadm.dbmcfg t1 join
sysibmadm.authorizationids t2 on t1.value=t2.authid
where t1.name='sysadm_group' fetch first row only
with ur
在上面的查询甲SQL0551也将是一个指示所连接的用户不具有SYSADM。
"GET AUTHORIZATIONS"
命令,在9.7版本停产。 "AUTH_LIST_AUTHORITIES_FOR_AUTHID"
表函数应该使用。
db2 connect
db2 SELECT VARCHAR(AUTHORITY, 30) AS AUTHORITY,
D_USER,
D_GROUP,
D_PUBLIC,
ROLE_USER,
ROLE_GROUP,
ROLE_PUBLIC,
D_ROLE
FROM TABLE(SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID('ALICE', 'U'))
WHERE AUTHORITY = 'SYSADM' OR AUTHORITY = 'DBADM'
链接: GET命令的授权已停产