Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

RDB$SECURITY_CLASS в Interbase


-SeM- ©   (2005-02-02 09:29:00) 

Как можно использовать RDB$SECURITY_CLASS в системной таблице RDB$DATABASE?


Sergey13   (2005-02-02 12:52:00) [1]

2[7] Johnmen ©   (02.02.05 12:13)
>По второму  - видимо такова фича ИБ. Не знаю...
По моему это нормальная политика, говорящая, что не надо руками лазить в системные таблицы. И не только у ИБ это. Оракл вот тоже не импортирует (а бедь BR в IB сделан, по моему, типа эксп/имп, не так?) SYSовские штуки.


-SeM-   (2005-02-02 12:38:00) [2]

Johnmen ©   (02.02.05 12:13) [7]

> роль SYSDBA и чем это грозит

Это о том, что в будущих версиях возможно не будет такой возможности? К тому времени, наверное, защита будет получше.


Johnmen   (2005-02-02 12:13:00) [3]

-SeM-   (02.02.05 11:49) [6]

Видится 2 вопроса
1. Как скрыть тексты ХП и тр-ов ? // Или что-то другое скрыть ?
2. Почему null после рестора ?
По первому  - понятно, как.
По второму  - видимо такова фича ИБ. Не знаю...
Про роль SYSDBA и чем это грозит - написано на ibase.ru  :)


-SeM-   (2005-02-02 11:49:00) [4]

Johnmen ©   (02.02.05 11:31) [5]
Проблема уже была описана. Правкой поля RDB$SECURITY_CLASS в RDB$DATABASE удается добиться желаемого результата. Но после бекап/ресторе базы это поле устанавливается в null и приходиться опять ручками править, что не есть гуд. Или я не умею готовить? Вот и хотел узнать может кто-то иначе готовит.


> SYSDBA всегда получит доступ

Ага щаз. Он у меня отдыхает после того как в базе(ах) была создана роль с именем SYSDBA. Бекапы только приходится сильно прятать или с собой носить :)


Johnmen   (2005-02-02 11:31:00) [5]

>-SeM-   (02.02.05 11:22) [4]

Спасибо за подробный ответ.

Теперь давай свой вопрос/проблему. С учетом того, что SYSDBA всегда получит доступ к твоей БД.


-SeM-   (2005-02-02 11:22:00) [6]

Johnmen ©   (02.02.05 11:01) [3]
А посмотреть структуру системных таблиц RDB$DATABASE, RDB$SECURITY_CLASSES?

> Что такое RDB$ACL ?

http://bdn.borland.com/article/0,1410,25701,00.html

> Все таблицы создаются заново при ресторе...

Имеется ввиду содержимое (данные) таблиц

> достаточно вычистить из систютаблиц их исходный код

Использование ACL гораздо шире. Это не только возможность скрытия исходного кода процедур и триггеров.

The privilege list specifies the following privileges:
• R (read). Users with read privilege can read the database, relation, view, or field.
• W (write). Users with write privilege can write to the database, relation, view, or field.
• P (protect). Users with protect privilege can change the security class for the database, relation, view, or field.
• C (control). Users with control privilege can change the metadata for the database, relation, view, or field.
• D (delete). Users with delete privilege can delete the definition for the relation.


Johnmen   (2005-02-02 11:01:00) [7]

>-SeM-   (02.02.05 10:26) [2]

Второе :)

>Если заполнить это поле значением из RDB$SECURITY_CLASSES

Что-то непонятно...

>чьи привилегии прописаны в RDB$ACL

Что такое RDB$ACL ?

>При ресторе базы таблица RDB$DATABASE не берется с бекапа, а
>создается заново

Все таблицы создаются заново при ресторе...

>Т.о. пытаюсь защитить исходнки базы.

Исходники чего ? Процедур и триггеров ? Так для этого достаточно вычистить из систютаблиц их исходный код.


-SeM-   (2005-02-02 10:26:00) [8]

Johnmen ©   (02.02.05 09:54) [1]
Попытка оскорбить или настроение хорошее?

Если заполнить это поле значением из RDB$SECURITY_CLASSES, то работать (открыть, бекап) с базой возможно только тем, чьи привилегии прописаны в RDB$ACL. Т.о. пытаюсь защитить исходнки базы. Но вот проблема. При ресторе базы таблица RDB$DATABASE не берется с бекапа, а создается заново. Т.е. поле RDB$SECURITY_CLASS этой таблицы равно null.
Надеюсь понятно чем вызван вопрос?


Johnmen   (2005-02-02 09:54:00) [9]

К аком книзу...:)

Что тебе надобно, младе ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо