Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
необходимо научиться добавлять нового пользователя на сервере AIX для того, чтобы он мог подключаться к базе, и имел ограниченное количество прав для работы с ней, например, только просмотр некоторых таблиц.
через консоль завожу нового пользователя и присоединяю его к определенной группе командой:
useradd -G <Group> -d /home/<UserName> -m <UserName>
passwd <Password>
далее, перезахожу в консоль под системным пользователем root и изменяю сеанс через команду su - <UserName>
но ничего не происходит.
если я пытаюсь через комманду su - зайти под другим пользователем, то мне предоставляется доступ к командам db2
подскажите, пожалуйста, где и что я делаю не так. Очень нужно. Спасибо!!
8 янв 19, 14:00    [21779864]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
попробовал выполнить через Toad
 GRANT ALL ON TABLE "Z_TEST".TABLE TO USER username;
и она сработала. но на этом все.
8 янв 19, 16:00    [21779960]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko,

Попробую угадать смысл фразы "но ничего не происходит".
Если это означает, что при вызове процессора командной строки DB2 (DB2 CLP) "db2" вам выдается ошибка, что такая команда не найдена, то это означает, что окружение db2 не инициализировано.
Вы можете это сделать либо вызовом команды ниже только для текущей сессии, либо вставив этот вызов в login скрипт этого пользователя (~<UserName>/.profile или ~<UserName>/.bashrc - в зависимости от shell пользователя <UserName>), чтобы этот вызов происходил автоматически при регистрации пользователя в системе.

. ~db2instance/sqllib/db2profile

Здесь db2instance - имя экземпляра db2, с базой которого пользователь должен работать.
Пробел между точкой и тильдой - обязателен.

Если я угадал смысл фразы неправильно, просьба ее расшифровать.
8 янв 19, 19:14    [21780054]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
Верно, пишет о том, что команда не найдена.
Но ведь другой пользователь имеет доступ к команда, когда из системного профиля происходит переключение на него. Как это объяснить?
9 янв 19, 08:49    [21780256]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
И ещё...если возможно, подскажи, пожалуйста, как это протестировать? Сначала захожу под системным пользователем root -> далее ввожу bash -> а потом...? Пробовал гуглить, куда эту команду впихнуть, но не нашел... Мой пользователь, через которого я хочу получать доступ к базе - db2start.
9 янв 19, 09:03    [21780265]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
вывел юзеров. первый (db2start) - которого я создал, второй (dsadm) - существующий, которому доступны команды db2, есть переключаться на него из системного профиля:
db2start id=220 pgrp=staff groups=staff,db2ctrl home=/home/db2start shell=/usr/bin/ksh login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=0 pwdwarntime=0 account_locked=false minage=0 maxage=0 maxexpired=-1 minalpha=0 minloweralpha=0 minupperalpha=0 minother=0 mindigit=0 minspecialchar=0 mindiff=0 maxrepeats=8 minlen=0 histexpire=0 histsize=0 pwdchecks= dictionlist= default_roles= fsize=-1 cpu=-1 data=-1 stack=-1 core=-1 rss=-1 nofiles=-1 time_last_login=1546944095 tty_last_login=/dev/pts/1 host_last_login=172.28.20.122 unsuccessful_login_count=0 roles=

dsadm id=208 pgrp=dstage groups=dstage,staff,db2ctrl home=/home/dsadm shell=/bin/ksh login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=0 pwdwarntime=0 account_locked=false minage=0 maxage=0 maxexpired=-1 minalpha=0 minloweralpha=0 minupperalpha=0 minother=0 mindigit=0 minspecialchar=0 mindiff=0 maxrepeats=8 minlen=0 histexpire=0 histsize=0 pwdchecks= dictionlist= default_roles= fsize=-1 cpu=-1 data=-1 stack=-1 core=-1 rss=-1 nofiles=-1 time_last_login=1399018738 time_last_unsuccessful_login=1397714590 tty_last_login=/dev/pts/1 tty_last_unsuccessful_login=ssh host_last_login=192.168.106.116 host_last_unsuccessful_login=192.168.106.116 unsuccessful_login_count=21 roles=
9 янв 19, 10:16    [21780304]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko
вывел юзеров. первый (db2start) - которого я создал, второй (dsadm) - существующий, которому доступны команды db2, есть переключаться на него из системного профиля:
db2start id=220 pgrp=staff groups=staff,db2ctrl home=/home/db2start shell=/usr/bin/ksh login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=0 pwdwarntime=0 account_locked=false minage=0 maxage=0 maxexpired=-1 minalpha=0 minloweralpha=0 minupperalpha=0 minother=0 mindigit=0 minspecialchar=0 mindiff=0 maxrepeats=8 minlen=0 histexpire=0 histsize=0 pwdchecks= dictionlist= default_roles= fsize=-1 cpu=-1 data=-1 stack=-1 core=-1 rss=-1 nofiles=-1 time_last_login=1546944095 tty_last_login=/dev/pts/1 host_last_login=172.28.20.122 unsuccessful_login_count=0 roles=

dsadm id=208 pgrp=dstage groups=dstage,staff,db2ctrl home=/home/dsadm shell=/bin/ksh login=true su=true rlogin=true daemon=true admin=false sugroups=ALL admgroups= tpath=nosak ttys=ALL expires=0 auth1=SYSTEM auth2=NONE umask=22 registry=files SYSTEM=compat logintimes= loginretries=0 pwdwarntime=0 account_locked=false minage=0 maxage=0 maxexpired=-1 minalpha=0 minloweralpha=0 minupperalpha=0 minother=0 mindigit=0 minspecialchar=0 mindiff=0 maxrepeats=8 minlen=0 histexpire=0 histsize=0 pwdchecks= dictionlist= default_roles= fsize=-1 cpu=-1 data=-1 stack=-1 core=-1 rss=-1 nofiles=-1 time_last_login=1399018738 time_last_unsuccessful_login=1397714590 tty_last_login=/dev/pts/1 tty_last_unsuccessful_login=ssh host_last_login=192.168.106.116 host_last_unsuccessful_login=192.168.106.116 unsuccessful_login_count=21 roles=
У db2start - ksh shell. Это значит, что вызов, который я написал, надо вставить в файл ~db2start/.profile
Если у dsadm команды db2 работают, то вам надо в точности вставить такие же строки в этот файл, которые выдаются командой:
grep -p db2profile ~dasadm/.profile

Открыть на редактирование этот файл можно, например, командой:
vi ~db2start/.profile
9 янв 19, 10:32    [21780317]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
Mark Barinstein,

Поправка:
grep -p db2profile ~dsadm/.profile
9 янв 19, 11:25    [21780371]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
Mark Barinstein,
предварительно создал чистого пользователя (mytusr), и добавил его во все Группы, в которых был пользователь dsadm.
провернул все действия, которые Вы указали, сравнил командой grep двух пользователей, получились идентичны.
на текущий момент получилось выполнить только одну db2-команду:
db2 list db directory

далее попробовал подключиться через команду db2 connect к базе, но появляется ошибка "SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001"
пробовал менять пароль через passwd, но ошибка не пропала при повторном коннекте.
9 янв 19, 12:01    [21780406]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko
...
далее попробовал подключиться через команду db2 connect к базе, но появляется ошибка "SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001"
пробовал менять пароль через passwd, но ошибка не пропала при повторном коннекте.

Вы могли создать пользователя так, что ему требуется изменить пароль при первом входе в систему.
Проверка:
grep -p "^mytusr:" /etc/security/passwd | grep -p ADMCHG

В этом случае одно из:
- из-под root:
pwdadm -c mytusr
- из-под mytusr:
su - mytusr
9 янв 19, 12:52    [21780478]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
Mark Barinstein,
попробовал первую команду, и остальные 2 под разными пользователями - в ответ ничего не вывело(
9 янв 19, 13:34    [21780516]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
У этого экземпляра аутентификация точно в ОС, а не, скажем, в LDAP?
Если да, то:
Имя пользователя не более 8 символов и на нижнем регистре?
Можете этим пользователем зайти в систему, пройдя проверку пароля?
9 янв 19, 14:17    [21780566]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
может быть, проблема в другом, и я не совсем понимаю, что к чему?
если посмотреть в мою методичку, там есть одна задача связанная с загрузкой данных.
и там последовательно выполняется ряд действий:
3.	su – dsadm
4.	db2 list db directory 
5.	db2 connect to EQ_QGPL user kxd using pass


это говорит о том, что пользователь к базе и пользователь на сервере - это разные пользователи.
соответственно, мне и пишет ошибку, потому что захожу не под тем пользователем.
но я попытался выполнить запрос, в котором указал пользователя и пароль, под которым захожу в базу, и все равно ничего не вышло.
1.	su – mytusr
2.	db2 connect to TEST user db2in using pass


или я не верно рассуждаю?
9 янв 19, 14:38    [21780593]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
на Ваши вопросы ответ - да
login as: mytusr
mytusr@192.168.98.198's password:
bash-4.1$ uname -a
AIX AIX-DS 1 7 00C5BDD74C00
9 янв 19, 14:46    [21780607]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
получается, я все это время, по незнанию, вводил Вас по неправильной дороге.
думал, что этот пользователь должен быть один для всех, хотя сам видел, что в группах не было пользователя, которым я подключаюсь к базе через Toad. а мне как раз этот и нужен.
можете подсказать, как его создать можно?
9 янв 19, 14:58    [21780632]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko,

Для локальных соединений (с сервера):
Если вы указываете в команде 'db2 connect' имя пользователя, то неважно, каким вы пользователем заходите в систему.
Если вы не указываете в команде 'db2 connect' имя пользователя, то вы заходите в базу тем пользователем, которым зашли в ОС.

Для удаленных соединений вы обязательно должны указывать имя пользователя и его пароль, которые заведены там, где в этом экземпляре настроена аутентификация. У вас, как я понял, она в ОС, т.е. пользователь должен там быть заведен.

Я не понимаю, почему у вас при аутентификации в ОС, когда вы завели пользователя, можете успешно логиниться в ОС этим пользователем (не через su от root, где пароль не спрашивается), в db2 в ответ на соответствующий системный вызов возвращается ошибка о неправельном имени или пароле.
Группы пользователя здесь ни при чем - у вас не проходит проверка имени пользователя и его пароля.

Вы либо что-то не так делаете (например, как вы в первом письме написали, 'passwd <Password>' - это непонятно что; изменение пароля пользователя делается командой passwd <UserName>), либо у вас пользователи не в ОС аутентифицируются.

Вы когда делаете:
su – mytusr
То из под него работают ли команды ниже?
db2 connect to TEST
db2 connect to TEST user mytusr
9 янв 19, 15:21    [21780666]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
после первой команды ошибка - "SQL30082N Security processing failed with reason "3" ("PASSWORD MISSING")."
после второй - "SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001"
автор
например, как вы в первом письме написали, 'passwd <Password>' - это непонятно что

да, я не правильно написал, при такой записи выведет ошибку, что пользователь не найден. я пишу passwd newuser, а далее уже появляется новая строка с вводом пароля.
автор
либо у вас пользователи не в ОС аутентифицируются.

а как мне узнать? разве команда uname -a не дает ответ ?
9 янв 19, 15:42    [21780689]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko,

"SQL30082N Security processing failed with reason "3" ("PASSWORD MISSING")." в ответ на соединение без указания имени пользователя говорит о том, что вы обращаетесь к удаленной базе (находящейся либо на том же сервере, но зарегистрированной как удаленная, либо находящейся на другом сервере).

Дайте вывод команд:
db2 list db directory
db2 list node directory
db2 get dbm cfg | grep -i plugin
9 янв 19, 16:21    [21780761]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
Mark Barinstein,
1)
там их больше, так что одну скину:
Database 6 entry:

Database alias = T_D
Database name = BVEB_WH
Node name = TEST
Database release level = d.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =

2)
SQL0104N An unexpected token "directory" was found following "LIST". Expected tokens may include: "ACTIVE". SQLSTATE=42601

3)
Client Userid-Password Plugin (CLNT_PW_PLUGIN) =
Client Kerberos Plugin (CLNT_KRB_PLUGIN) =
Group Plugin (GROUP_PLUGIN) =
GSS Plugin for Local Authorization (LOCAL_GSSPLUGIN) =
Server Plugin Mode (SRV_PLUGIN_MODE) = UNFENCED
Server List of GSS Plugins (SRVCON_GSSPLUGIN_LIST) =
Server Userid-Password Plugin (SRVCON_PW_PLUGIN) =
9 янв 19, 16:35    [21780781]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
2) исправленный к п 1:

Node 5 entry:

Node name = TEST
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 192.168.98.206
Service name = 60008
9 янв 19, 16:38    [21780784]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
У вас база зарегистрирована на хосте с 192.168.98.206:
AVRomanenko
Database 6 entry:

Database alias = T_D
Database name = BVEB_WH
Node name = TEST
...

Node 5 entry:

Node name = TEST
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 192.168.98.206
Service name = 60008

Пользователя вы добавляете на хосте с 192.168.98.198, судя по:
AVRomanenko
login as: mytusr
mytusr@192.168.98.198's password:
bash-4.1$ uname -a
AIX AIX-DS 1 7 00C5BDD74C00

Так?
9 янв 19, 17:05    [21780837]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
да...
я уже перешел на .206 сервер, там завел нового пользователя, добавил в profile нужные строки, вызвал коннектор к базе, получилось, теперь пытаюсь добавить права к базе для пользователя:
db2 => GRANT CONNECT TO DATABASE T_D TO USER MYTUSR

но получаю ошибку:
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL5193N The current session user does not have usage privilege on any
enabled workloads. SQLSTATE=42524
9 янв 19, 17:24    [21780865]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko
...
но получаю ошибку:
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL5193N The current session user does not have usage privilege on any
enabled workloads. SQLSTATE=42524

Почитайте, что пишется в выводе комнды:

db2 "? SQL5193N"
9 янв 19, 17:47    [21780910]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4842
AVRomanenko,

Виноват:
Не:
GRANT CONNECT TO DATABASE T_D TO USER MYTUSR
а:
GRANT CONNECT ON DATABASE TO USER MYTUSR
9 янв 19, 17:49    [21780914]     Ответить | Цитировать Сообщить модератору
 Re: Новый пользователь на сервер db2  [new]
AVRomanenko
Member

Откуда:
Сообщений: 75
Mark Barinstein,
не получилось (
10 янв 19, 08:50    [21781233]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить