Страница 1 из 1
Как создать пользователя не пользователем SYSDBA?
Добавлено: 05 мар 2007, 17:28
AlexKich
и не владльцем базы?
Сервер FB 2.0.1.
Пробовал IBExpert(ом) - не получилось. Пробовал при подключении к базе локально и через IP.
Пишет "нет прав на вставку/запись таблицы USERS".
Это как то решается?
Хочется дать права на добавление/изменение/удаление пользователей определенному пользователю, при этом не хочется давать ему пароль SYSDBA и создателя базы.
Добавлено: 05 мар 2007, 17:42
kdv
никак.
Добавлено: 05 мар 2007, 17:44
AlexKich
kdv писал(а):никак.
а если отредактировать права в security2.fdb?
Добавлено: 05 мар 2007, 17:56
WildSery
AlexKich писал(а):а если отредактировать права в security2.fdb?
Каким образом? HEX-редактором что ли?
Добавлено: 05 мар 2007, 18:09
Slavik
В FB2 запрещён прямой доступ к Security2.FDB, а доступ к полному списку пользователей разрешён только SYSDBA. Это ведь ясно написано в релизнотах.
AlexKich писал(а):Это как то решается?
Да. Например, пишется собственная служба на сервере, которая "знает" пароль SYSDBA и умеет делать все необходимые действия со списком пользователей. Клиент дёргает эту службу. Служба проверяет полномочия клиента и поступает соответственно им.
Добавлено: 05 мар 2007, 20:38
AlexKich
Спасибо за ответы.
Добавлено: 05 мар 2007, 23:27
AlexKich
Провел эксперимент.
Запустил сервер (дома сервер по умолчанию выключен).
Добавил пользователя. Выключил сервер.
Сделал копию security2.fdb (дома сервер по умолчанию выключен).
Запустил сервер. Подцепил копию security2.fdb в IBExpert.
Дал админские права (простых не хватает) своему пользователю на все таблицы в том числе и системные, хотя скорее всего можно ограничиться каким-то минимумом, который позволить только рулить пользователями.
Закрыл IBExpert и остановил сервер.
Вернул отредактированную security2.fdb на место. Запустил сервер.
В IBExpert открыл тестовую базу (создана SYSDBA) под своим пользователем и спокойно добавил пользователей (правда они не появились в списке пользователей, пришлось зайти по SYSDBA, что бы их увидеть).
Я не знаю к чему это может привести поэтому не буду использовть в промышленной базе. Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией. Но принимаю это как данность этого бытия

Добавлено: 06 мар 2007, 00:56
kdv
Я не знаю к чему это может привести поэтому не буду использовть в промышленной базе. Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией. Но принимаю это как данность этого бытия
ну нету в FB "ролей" по отношению к метаданным кроме SYSDBA и DB OWNER.
Добавлено: 06 мар 2007, 08:00
Dimitry Sibiryakov
AlexKich писал(а):Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией.
Учетные записи пользователей принадлежат не базе, а серверу. Админ сервера - SYSDBA. Вот и все.
Если в третьей птичке будут пользователи, хранящиеся в базе, рулить ими сможет владелец базы (наверное).
Добавлено: 06 мар 2007, 08:21
AlexKich
Еще раз, спасибо

Добавлено: 11 мар 2008, 11:22
sland
Да. Например, пишется собственная служба на сервере, которая "знает" пароль SYSDBA и умеет делать все необходимые действия со списком пользователей. Клиент дёргает эту службу. Служба проверяет полномочия клиента и поступает соответственно им.
У меня похожая проблема. Новые пользователи добавляются только на сервере и только от имени SYSDBA. Это правильно, или просто у меня что-то не получается? Решаю похожим способом - специальной службой, которая создает/удаляет пользователей от имени SYSDBA.