Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / create role MODE_EXPERT; / 24 сообщений из 24, страница 1 из 1
18.04.2012, 21:47
    #37760015
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Не могу создать только эту роль?
В чём может быть причина?
Firebird 2.5.1
Код: sql
1.
create role MODE_EXPERT;


Код: plaintext
1.
2.
3.
can't format message 13:393 -- message file C:\Windows\firebird.msg not found.
unsuccessful metadata update.
user name MODE_EXPERT could not be used for SQL role.

_____________________________________________________________________________
Не заставляйте меня разбираться в "кривых" исходниках, лучше пишите их читабельнее...!
Nazir © 2002-2012
...
Рейтинг: 0 / 0
18.04.2012, 21:52
    #37760030
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
И вот ещё что...
Как не странно, но на не существующую роль могу раздавать гранты...
Код: sql
1.
grant all on TABLE1 to MODE_EXPERT;
...
Рейтинг: 0 / 0
18.04.2012, 21:57
    #37760040
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild Pointerна не существующую роль могу раздавать гранты...

Потому что эта команда даёт права не роли, а пользователю. Несуществующему пользователю -
можно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2012, 22:00
    #37760048
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Dimitry SibiryakovWild Pointerна не существующую роль могу раздавать гранты...

Потому что эта команда даёт права не роли, а пользователю. Несуществующему пользователю -
можно.
Хорошо. Пусть пользователю... Забудем про гранты.
Но почему я не могу создать роль с этим именем?
...
Рейтинг: 0 / 0
18.04.2012, 22:01
    #37760050
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild PointerНо почему я не могу создать роль с этим именем?

Потому что с таким именем уже существует пользователь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.04.2012, 22:03
    #37760052
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Dimitry SibiryakovWild PointerНо почему я не могу создать роль с этим именем?

Потому что с таким именем уже существует пользователь.
Где?
На сервере точно его нет.
...
Рейтинг: 0 / 0
18.04.2012, 22:08
    #37760064
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild PointerНа сервере точно его нет.
а текст ошибки говорит, что есть:
"user name MODE_EXPERT could not be used for SQL role."

я без проблем выполнил команду

create role MODE_EXPERT;
...
Рейтинг: 0 / 0
18.04.2012, 22:09
    #37760066
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild Pointer
Код: plaintext
ser name MODE_EXPERT could not be used for SQL role.
что-то не получилось повторить ваш подвиг:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
C:\MIX\firebird\fb25>isql T1.fdb
Database:  T1.fdb
SQL> create user MODE_EXPERT password '123';
SQL> commit;
SQL> create role MODE_EXPERT;
SQL> commit;
SQL> show version;
ISQL Version: WI-V2.5.1.26351 Firebird 2.5
Server version:
Firebird/x86/Windows NT (access method), version "WI-V2.5.1.26351 Firebird 2.5"
Firebird/x86/Windows NT (remote server), version "WI-V2.5.1.26351 Firebird 2.5/XNet (CSPROG)/P12"
Firebird/x86/Windows NT (remote interface), version "WI-V2.5.1.26351 Firebird 2.5/XNet (CSPROG)/P12"
on disk structure version 11.2
SQL>
...
Рейтинг: 0 / 0
18.04.2012, 22:16
    #37760072
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
kdvWild PointerНа сервере точно его нет.
а текст ошибки говорит, что есть:
"user name MODE_EXPERT could not be used for SQL role."

я без проблем выполнил команду

create role MODE_EXPERT;
На сервере точно нет.
Порылся в RDB$USER_PRIVILEGES в БД.
Код: sql
1.
INSERT INTO RDB$USER_PRIVILEGES (RDB$USER, RDB$GRANTOR, RDB$PRIVILEGE, RDB$GRANT_OPTION, RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$USER_TYPE, RDB$OBJECT_TYPE) VALUES ('MODE_EXPERT', 'SYSDBA', 'S', NULL, 'TABLE1', NULL, 8, 0);


Похоже я до того как создал роль (давно). Назначил грантовал её (думал что роль, а как оказалось он грантовал её несуществующему пользователю).
Если была бы роль, то была бы запись с RDB$PRIVILEGE = 'M'

Разобрался спасибо! Не знал, что на несуществующему пользователю можно дать грант - это меня и смутило.
...
Рейтинг: 0 / 0
18.04.2012, 22:18
    #37760075
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild PointerПорылся в RDB$USER_PRIVILEGES в БД.
Код: sql
1.
INSERT INTO RDB$USER_PRIVILEGES ... 

Вы всегда так смело роетесь в системных таблицах ?
...
Рейтинг: 0 / 0
18.04.2012, 22:21
    #37760081
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
ТаблоидWild PointerПорылся в RDB$USER_PRIVILEGES в БД.
Код: sql
1.
INSERT INTO RDB$USER_PRIVILEGES ... 


Вы всегда так смело роетесь в системных таблицах ?
Нет конечно.
Это я в IBExpert правой кнопкой мыши "Copy selected record(s) as INSERT"
...
Рейтинг: 0 / 0
18.04.2012, 22:22
    #37760082
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Максимум select делаю к ним.
Просто решить проблему нужно.
Раз пользователя на сервере нет. Остаётся искать проблему в БД.
...
Рейтинг: 0 / 0
18.04.2012, 23:31
    #37760176
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild PointerНе знал, что на несуществующему пользователю можно дать грант - это меня и смутило.
тут даже думать не надо - где находятся гранты, и где находятся пользователи.
...
Рейтинг: 0 / 0
19.04.2012, 09:03
    #37760380
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
kdvWild PointerНе знал, что на несуществующему пользователю можно дать грант - это меня и смутило.
тут даже думать не надо - где находятся гранты, и где находятся пользователи.
Хотите сказать, что когда я делаю грант - сервер о нём не в курсе?
Он не видит, что я делаю грант несуществующему пользователю????
Однако...
...
Рейтинг: 0 / 0
19.04.2012, 09:06
    #37760385
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Сервер ведь может подглядеть в security2.fdb в таблицу RDB$USERS и узнать есть такой пользователь там или нет.
Разве я не прав?
...
Рейтинг: 0 / 0
19.04.2012, 09:34
    #37760422
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild Pointerkdvпропущено...

тут даже думать не надо - где находятся гранты, и где находятся пользователи.
Хотите сказать, что когда я делаю грант - сервер о нём не в курсе?
Он не видит, что я делаю грант несуществующему пользователю????
Однако...

Придумай как жить с более чем одной БД при удалении пользователя.
...
Рейтинг: 0 / 0
19.04.2012, 09:43
    #37760446
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
pastorWild Pointerпропущено...

Хотите сказать, что когда я делаю грант - сервер о нём не в курсе?
Он не видит, что я делаю грант несуществующему пользователю????
Однако...

Придумай как жить с более чем одной БД при удалении пользователя.

И что теперь???
Сервер то у меня один!
Хотя баз данных много...
...
Рейтинг: 0 / 0
19.04.2012, 10:25
    #37760523
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild Pointerpastorпропущено...


Придумай как жить с более чем одной БД при удалении пользователя.

И что теперь???
Сервер то у меня один!
Хотя баз данных много...

В чем пробема? Пользуйтесь ролями.
...
Рейтинг: 0 / 0
19.04.2012, 11:07
    #37760610
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
Wild PointerОн не видит, что я делаю грант несуществующему пользователю????
хоть десяти несуществующим пользователям. Они же залогиниться не смогут. И кроме того, пользователя можно создать потом.
...
Рейтинг: 0 / 0
19.04.2012, 13:05
    #37760846
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
pastorWild Pointerпропущено...


И что теперь???
Сервер то у меня один!
Хотя баз данных много...

В чем пробема? Пользуйтесь ролями.
Читай топик с самого начала.
Проблемы уже нет...
...
Рейтинг: 0 / 0
19.04.2012, 13:13
    #37760857
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
kdvWild PointerОн не видит, что я делаю грант несуществующему пользователю????
хоть десяти несуществующим пользователям. Они же залогиниться не смогут. И кроме того, пользователя можно создать потом.
Дело не в этом! Повторюсь в очередной раз:
> Проблема решена!
> Не знал, что на несуществующему пользователю можно дать грант - это меня и смутило.


В следующий раз буду писать вместо
Код: sql
1.
grant all on TABLE1 to MODE_EXPERT;


это
Код: sql
1.
grant all on TABLE1 to role MODE_EXPERT;
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
19.02.2015, 13:59
    #38883953
Ч
Ч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
На совсем крайний случай можно так:
UPDATE OR INSERT INTO RDB$ROLES (RDB$ROLE_NAME, RDB$OWNER_NAME, RDB$SYSTEM_FLAG)
VALUES ('X_ROLE ', 'SYSDBA ', 4)
MATCHING (RDB$ROLE_NAME);

Но лучше найти причину.
...
Рейтинг: 0 / 0
19.02.2015, 14:07
    #38883965
Поручик ·· Ржевский
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
кто тут?! 8-щ
...
Рейтинг: 0 / 0
19.02.2015, 14:09
    #38883968
Wild Pointer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
create role MODE_EXPERT;
ЧНа совсем крайний случай можно так:
UPDATE OR INSERT INTO RDB$ROLES (RDB$ROLE_NAME, RDB$OWNER_NAME, RDB$SYSTEM_FLAG)
VALUES ('X_ROLE ', 'SYSDBA ', 4)
MATCHING (RDB$ROLE_NAME);

Но лучше найти причину.

Конечно лучше найти причину. Чем я собственно и занимался.
А такой способ может привести к печальным последствиям.

ЗЫЖ Проблема решена: 12436993
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / create role MODE_EXPERT; / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]