powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Новый пользователь на сервер db2
6 сообщений из 56, страница 3 из 3
Новый пользователь на сервер db2
    #39758444
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenkoправильно я понимаю, что роль и группа имеют одинаковые свойства, только роль создается на уровне базы, а группа на уровне ОС?
с ролью разобрался, с группами как-то не совсем понимаю, как можно давать права на группу, чтобы пользователь состоя в этой группе получал доступ к базе.В DB2 проверка имени пользователя и его пароля, принадлежность пользователя к группам проверяется во внешнем источнике - там, где настроена аутентификация, с помощью соответствующих API вызовов. По-умолчанию - в ОС.
Внутри DB2 хранятся только гранты пользователей и групп на разные объекты. Причем эти имена в командах GRANT никак не проверяются во внешнем источнике и не синхронизируются с ним. Т.е. вы можете дать права несуществующему пользователю или группе, и это будет просто ненужная информация.
Когда пользователь обращается к таблице, то DB2 проверяет, имеет ли он такие права примерно в таком порядке:
- имеет ли этот пользователь права лично
- входит ли пользователь хотя бы в одну из групп, которым даны нужные права на таблицу (по системному каталогу DB2, где после каждого GRANT соотв. информация сохраняется); получение списка групп пользователя делается с помощью обращения через соотв. API во внешний источник, потом два списка сравниваются
- имеет ли пользователь права через роли, данные ему лично или одной из его группAVRomanenkoи еще, для моего понимания, объясните, пожалуйста, доступ к группе открывает возможность работать с базой именно через консоль?
можно ли что-то сделать с тем, когда у нового пользователя нет изначально доступа к командам db2?
(при создании пользователя указать каталог useradd /home/db2inst1/sqllib/db2profile/<user> -m <user>, или я несу чушь? :) )Не надо в качестве домашнего каталога указывать подкаталог из домашнего каталога другого пользователя - так в unix не делают.
Пользователь создается как обычно, со своим собственным home.
Специльно для работы из консоли ни в какие дополнительные группы пользователя включать не обязательно.
Для работы через консоль от любого кользователя вы должны инициализировать соответствующие переменные окружения. Я уже писал, как это делается: вызовом команды ниже либо руками в сессии пользователя, либо в его login скрипте (здесь предполагается, что имя экзкмпляра db2 - db2inst1).
Код: plaintext
. ~db2inst1/sqllib/db2profile
...
Рейтинг: 0 / 0
Новый пользователь на сервер db2
    #39758462
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
Вы писали
авторудобно сделать одно из:
- создать роль, грантовать ей эти права, новому пользователю грантовать эту роль
- создать группу в ОС, грантовать ей эти права, нового пользователя включать в эту группу
это значит, что я могу использовать один из вариантов.
допустим, я выбрал второй вариант - я создал группу, но как мне дать гранты, например, на CONNECT TO DB? мне предлагают только раздавать права на роль
...
Рейтинг: 0 / 0
Новый пользователь на сервер db2
    #39758467
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenko...
допустим, я выбрал второй вариант - я создал группу, но как мне дать гранты, например, на CONNECT TO DB? мне предлагают только раздавать права на рольКто или что предлагают?

Код: plaintext
 GRANT  CONNECT ON DATABASE TO GROUP <MYGROUP>
...
Рейтинг: 0 / 0
Новый пользователь на сервер db2
    #39758497
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
гуглил...и там не нашел подобного, только SQL-команды для новой ROLE, но я попробовал, и Ваш скрипт отлично работает...а еще, можно узнать, как смотреть экземпляр db2? допустим, здесь оказался db2inst1, а в др месте может быть другой, например?
...
Рейтинг: 0 / 0
Новый пользователь на сервер db2
    #39758509
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AVRomanenkoможно узнать, как смотреть экземпляр db2? допустим, здесь оказался db2inst1, а в др месте может быть другой, например?
На сервере может быть установлено несколько кодов db2, каждый из них может управлять несколькими экземплярами.
Вы можете получить все установленные коды с помощью вызова команды ниже, которая, как правило, является ссылкой на утилиту db2ls из-под какого-нибудь из этих кодов.
Код: plaintext
/usr/local/bin/db2ls

Из поля 'Install Path' берете любой путь, (пусть это, скажем, ${DB2DIR}) и:
Код: plaintext
${DB2DIR}/bin/db2greg -dump | grep '^I,DB2,'

Получаете список экземпляров с информацией о том, каким кодом DB2 каждый управляется.
Для того, чтоб начать работать с нужным экземпляром (скажем, db2inst ), выполняете в сессии 2 команды (1-ю можно пропустить, если в этой сессии еще ни с одним экземпляром не работали):
Код: plaintext
1.
2.
db2 terminate
. ~ db2inst /sqllib/db2profile
и можете начинать работать.
...
Рейтинг: 0 / 0
Новый пользователь на сервер db2
    #39759258
AVRomanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein, большое спасибо Вам! Очень выручили меня.
...
Рейтинг: 0 / 0
6 сообщений из 56, страница 3 из 3
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Новый пользователь на сервер db2
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]