2012-05-01 1 views
0

Как проверить авторизацию DB2 SYSADM или SYSCTRL для пользователя.Как проверить авторизацию DB2 SYSADM или SYSCTRL для пользователя

Мне нужно проверить пользователя/пароль с помощью полномочий DB2 для создания/удаления базы данных. Есть ли какая-то конкретная команда для этого?

Мне нужно проверить пользователя/пароль с помощью команды, которая сообщает, имеет ли пользователь право создавать и удалять базу данных (означает попытку проверки перед запуском команды создания базы данных) или нет.

ответ

2
db2 connect 
db2 get authorizations 
+0

Thanks @Ingo. Мне нужно проверить пользователя/пароль с помощью команды, которая сообщает, имеет ли пользователь полномочия на создание/удаление базы данных или нет. Но приведенные выше команды работают только с существующей базой данных, которая не существует в моем случае. – Kishore

+0

@Kishore - вы все равно можете проверить, является ли пользователь членом группы (групп), настроенной в конфигурации экземпляра. (Однако, как сделать это, зависит от ОС. В UNIX найдите команду id.) – Ingo

+0

Но я понятия не имею, как проверять пользователя из кода Java, используя конкретную ОС – Kishore

1

Вот как я мог бы сделать это в оболочке unix, не следует трудно адаптироваться к эквиваленту java;

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

Попробуйте это; Это подразумевает, что идентификатор имеет SELECT в представлениях, упомянутых в запросе ниже;

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.

Смежные вопросы