|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
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
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 13:59 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, Вы писали авторудобно сделать одно из: - создать роль, грантовать ей эти права, новому пользователю грантовать эту роль - создать группу в ОС, грантовать ей эти права, нового пользователя включать в эту группу это значит, что я могу использовать один из вариантов. допустим, я выбрал второй вариант - я создал группу, но как мне дать гранты, например, на CONNECT TO DB? мне предлагают только раздавать права на роль ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 14:35 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenko... допустим, я выбрал второй вариант - я создал группу, но как мне дать гранты, например, на CONNECT TO DB? мне предлагают только раздавать права на рольКто или что предлагают? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 14:46 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
Mark Barinstein, гуглил...и там не нашел подобного, только SQL-команды для новой ROLE, но я попробовал, и Ваш скрипт отлично работает...а еще, можно узнать, как смотреть экземпляр db2? допустим, здесь оказался db2inst1, а в др месте может быть другой, например? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 15:33 |
|
Новый пользователь на сервер db2
|
|||
---|---|---|---|
#18+
AVRomanenkoможно узнать, как смотреть экземпляр db2? допустим, здесь оказался db2inst1, а в др месте может быть другой, например? На сервере может быть установлено несколько кодов db2, каждый из них может управлять несколькими экземплярами. Вы можете получить все установленные коды с помощью вызова команды ниже, которая, как правило, является ссылкой на утилиту db2ls из-под какого-нибудь из этих кодов. Код: plaintext
Из поля 'Install Path' берете любой путь, (пусть это, скажем, ${DB2DIR}) и: Код: plaintext
Получаете список экземпляров с информацией о том, каким кодом DB2 каждый управляется. Для того, чтоб начать работать с нужным экземпляром (скажем, db2inst ), выполняете в сессии 2 команды (1-ю можно пропустить, если в этой сессии еще ни с одним экземпляром не работали): Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 15:54 |
|
|
start [/forum/topic.php?fid=43&gotonew=1&tid=1600283]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 158ms |
0 / 0 |