| 
 | 
| 
 
Новый пользователь на сервер 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&msg=39758467&tid=1600283]:  | 
    0ms | 
get settings:  | 
    9ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    55ms | 
get topic data:  | 
    12ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    38ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 15ms | 
| total: | 152ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.