Как создать пользователя не пользователем SYSDBA?
Модераторы: kdv, Alexey Kovyazin
Как создать пользователя не пользователем SYSDBA?
и не владльцем базы?
Сервер FB 2.0.1.
Пробовал IBExpert(ом) - не получилось. Пробовал при подключении к базе локально и через IP.
Пишет "нет прав на вставку/запись таблицы USERS".
Это как то решается?
Хочется дать права на добавление/изменение/удаление пользователей определенному пользователю, при этом не хочется давать ему пароль SYSDBA и создателя базы.
Сервер FB 2.0.1.
Пробовал IBExpert(ом) - не получилось. Пробовал при подключении к базе локально и через IP.
Пишет "нет прав на вставку/запись таблицы USERS".
Это как то решается?
Хочется дать права на добавление/изменение/удаление пользователей определенному пользователю, при этом не хочется давать ему пароль SYSDBA и создателя базы.
В FB2 запрещён прямой доступ к Security2.FDB, а доступ к полному списку пользователей разрешён только SYSDBA. Это ведь ясно написано в релизнотах.
Да. Например, пишется собственная служба на сервере, которая "знает" пароль SYSDBA и умеет делать все необходимые действия со списком пользователей. Клиент дёргает эту службу. Служба проверяет полномочия клиента и поступает соответственно им.AlexKich писал(а):Это как то решается?
Провел эксперимент.
Запустил сервер (дома сервер по умолчанию выключен).
Добавил пользователя. Выключил сервер.
Сделал копию security2.fdb (дома сервер по умолчанию выключен).
Запустил сервер. Подцепил копию security2.fdb в IBExpert.
Дал админские права (простых не хватает) своему пользователю на все таблицы в том числе и системные, хотя скорее всего можно ограничиться каким-то минимумом, который позволить только рулить пользователями.
Закрыл IBExpert и остановил сервер.
Вернул отредактированную security2.fdb на место. Запустил сервер.
В IBExpert открыл тестовую базу (создана SYSDBA) под своим пользователем и спокойно добавил пользователей (правда они не появились в списке пользователей, пришлось зайти по SYSDBA, что бы их увидеть).
Я не знаю к чему это может привести поэтому не буду использовть в промышленной базе. Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией. Но принимаю это как данность этого бытия
Запустил сервер (дома сервер по умолчанию выключен).
Добавил пользователя. Выключил сервер.
Сделал копию security2.fdb (дома сервер по умолчанию выключен).
Запустил сервер. Подцепил копию security2.fdb в IBExpert.
Дал админские права (простых не хватает) своему пользователю на все таблицы в том числе и системные, хотя скорее всего можно ограничиться каким-то минимумом, который позволить только рулить пользователями.
Закрыл IBExpert и остановил сервер.
Вернул отредактированную security2.fdb на место. Запустил сервер.
В IBExpert открыл тестовую базу (создана SYSDBA) под своим пользователем и спокойно добавил пользователей (правда они не появились в списке пользователей, пришлось зайти по SYSDBA, что бы их увидеть).
Я не знаю к чему это может привести поэтому не буду использовть в промышленной базе. Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией. Но принимаю это как данность этого бытия

ну нету в FB "ролей" по отношению к метаданным кроме SYSDBA и DB OWNER.Я не знаю к чему это может привести поэтому не буду использовть в промышленной базе. Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией. Но принимаю это как данность этого бытия
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Учетные записи пользователей принадлежат не базе, а серверу. Админ сервера - SYSDBA. Вот и все.AlexKich писал(а):Но убей меня бог не могу понять почему для добавления пользователй в БД, я (как админ БД) должен отдавать пароль создателя БД вместо назначения ответсвенных за добавление и изменение учетных записией.
Если в третьей птичке будут пользователи, хранящиеся в базе, рулить ими сможет владелец базы (наверное).
У меня похожая проблема. Новые пользователи добавляются только на сервере и только от имени SYSDBA. Это правильно, или просто у меня что-то не получается? Решаю похожим способом - специальной службой, которая создает/удаляет пользователей от имени SYSDBA.Да. Например, пишется собственная служба на сервере, которая "знает" пароль SYSDBA и умеет делать все необходимые действия со списком пользователей. Клиент дёргает эту службу. Служба проверяет полномочия клиента и поступает соответственно им.