如何检查DB2 SYSADM或SYSCTRL授权用户(How to check DB2 SYSADM

2019-07-29 04:57发布

如何检查DB2 SYSADM或SYSCTRL授权的用户。

我需要通过DB2权威的手段,创建/删除数据库来验证用户/密码。 对此有任何具体的命令?

我需要告诉用户是否有创建和删除数据库的权限的命令来验证用户名/密码(指企图射击数据库创建命令之前验证)或没有。

Answer 1:

db2 connect
db2 get authorizations


Answer 2:

这就是我如何从UNIX外壳做它,它不应该是很难适应的java同等学历;

createdb=$(db2 get authorizations|egrep 'SYSADM|SYSCTRL' | grep -c ' = YES')
if [[ $createdb ]]; then
   echo 'Do it'
fi


Answer 3:

试试这个; 它暗示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。



Answer 4:

"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命令的授权已停产



文章来源: How to check DB2 SYSADM or SYSCTRL authorization for a user
标签: java db2