Уважаемые участники форума, помогите разобраться с проблемой.
Ситуация следующая:
Даю права пользователю на изменение столбца таблицы с возможностью их передачи.
GRANT UPDATE (COL1) ON TAB1 TO USER1 WITH GRANT OPTION
Подключаюсь под пользователем USER1 и создаю роль ROLE1
Затем даю права роли ROLE1 на изменение столбца COL1 таблицы TAB1:
GRANT UPDATE (COL1) ON TAB1 TO ROLE1
После этого отнять эти права у роли ROLE1 находясь под пользователем USER1 не получается! Запрос REVOKE UPDATE (COL1) ON TAB1 FROM ROLE1 выдаёт
This operation is not defined for system tables.
unsuccessful metadata update.
ERASE RDB$USER_PRIVILEGES failed in revoke(1).
no permission for control access to TABLE TAB1.
At trigger 'RDB$TRIGGER_8'.
Получается дать права можно, а отнять - нет?
Версия Firebird - 2.0.0.
Пробовал на 1.5.0, 1.5.2 и 1.5.3
Помогите люди!
невозможно отнять права на изменение столбца
Если есть права на update одного столбца и нет прав на чтение из таблицы, то update этого столбца с where действительно не работает. Но если права на чтение есть - всё отлично. По моему это логично. Чтобы сравнивать с чем-то значения в таблице, надо иметь права на их чтение.kdv писал(а):А как только оно появляется - пользователь обломится выполнять этот update.
А баг с передачей прав для меня очень неприятный.
Уже написал в трекер. Будем ждать...
В 2.0 это точно не будет правитьсяDenetor писал(а):А баг с передачей прав для меня очень неприятный
Гм, ты бы ещё по-китайски туда написал...Denetor писал(а):Уже написал в трекер. Будем ждать...

А... уже перевел, молодец

Но задирание приоритета до critical в данном случае, увы, не поможет