Еще раз о слете прав

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
tvvwild
Сообщения: 5
Зарегистрирован: 10 ноя 2009, 18:00

Еще раз о слете прав

Сообщение tvvwild » 10 ноя 2009, 18:16

Ситуация простая есть набор процедур которые имеют права на таблицы и на вложенные процедуры. Доступ к процедурам имеют роли. После добавления новой процедуры и раздаче ей прав и на нее для ролей и После перезапуска начинают слетать права для процедур(каждый раз на новой) на объекты. Хотя в IBExpert-е и в запросах на эти объекты у этой процедуры есть права.
Ситуация исправляется если несколько раз убрать и заново раздать права на объект. Или сделать backup/restore (что не очень нравиться, но снимает головную боль до следующего добавления новой процедуры).
Ситуация была и раньше на 2.0-2.1 а также на 2.5 alpha и сейчас повторяется на 2.5 beta WI-T6.3.0.24643 (CS)
Если это баг, то похоже его не исправили :( !

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Еще раз о слете прав

Сообщение hvlad » 10 ноя 2009, 18:31

Воспроизводимый пример где ?

tvvwild
Сообщения: 5
Зарегистрирован: 10 ноя 2009, 18:00

Re: Еще раз о слете прав

Сообщение tvvwild » 10 ноя 2009, 19:03

Вот пример
Создается процедура P_SYSTEM_UPCE_CHECK

после перезапуска сервера или при переподключении к базе через роль и нового пользователя (не SYSDBA) выдает вот такое сообщение

Insufficient SQL rights for operation.
no permission for execute access to PROCEDURE P_SYSTEM_UPCE_CHECK

tvvwild
Сообщения: 5
Зарегистрирован: 10 ноя 2009, 18:00

Re: Еще раз о слете прав

Сообщение tvvwild » 10 ноя 2009, 19:09

Да еще чуть не забыл после созадния процедуре раздаются права на объекты к кооорым она обращается и ролям которые ее могут вызывать

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Еще раз о слете прав

Сообщение hvlad » 10 ноя 2009, 19:18

Совсем думать не хотят... или не могут ???

ГДЕ я должен создать процедуру P_SYSTEM_UPCE_CHECK, что это за процедура, какие права и на что ей нужны ???

Короче.
Или БД со скриптом, приводящим к ошибке.
Или полный скрипт, включая создание БД.

tvvwild
Сообщения: 5
Зарегистрирован: 10 ноя 2009, 18:00

Re: Еще раз о слете прав

Сообщение tvvwild » 10 ноя 2009, 19:35

>>
Совсем думать не хотят... или не могут ???
ГДЕ я должен создать процедуру P_SYSTEM_UPCE_CHECK, что это за процедура, какие права и на что ей нужны ???
>>

вопрос не совсем понятный. Зачем создавать процедуру?

Суть проблемы в следующем что после того как я создам любую процедуру, которая будет хотябы просто считать 2+2, и раздам все требуемые права. Все работает хорошо до того времени, пока не будет перезапущен сервер или переоткрыто соединение с базой под другим пользователем отличным от SYSDBA. После этого слетают права с любой(любых не более 2-х) из ранее созданных процедур или из только что созданной.
Проблема решается,!!!, но этот способ не совсем устраивает. Приходиться несколько раз заново этим объектам раздавать и убирать права, или делать backup/restore.

Здесь нет необходимости показывать код тк он работает.

tvvwild
Сообщения: 5
Зарегистрирован: 10 ноя 2009, 18:00

Re: Еще раз о слете прав

Сообщение tvvwild » 10 ноя 2009, 19:37

P.S.
При этом в IBExpert и запрос к таблице RDB$USER_PRIVILEGES показывает что все права розданы!! и они есть!!

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: Еще раз о слете прав

Сообщение hvlad » 13 ноя 2009, 11:43

Последний раз спрашиваю - как я могу воспроизвести это у себя ?

Ответить