Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.17;
Скачать: CL | DM;

Вниз

Право на восстановление   Найти похожие ветки 

 
First_May ©   (2004-01-26 11:47) [0]

Здравствуйте, подскажите пожалуйста, как можно пользователю дать право на восстановление базы? Что бы базу мог восстанавливать не только SYSDBA, но и напримре TEST.


 
First_May ©   (2004-01-26 12:13) [1]

Или этого сделать КАТЕГОРИЧНО нельзя?


 
y-soft ©   (2004-01-26 13:07) [2]

Если база не восстанавливается поверх существующей, то восстановить ее может любой пользователь. При этом он становится владельцем восстановленной базы и получает все права на нее...


 
First_May ©   (2004-01-26 14:15) [3]

Что значит: "Если база не восстанавливается поверх существующей, то восстановить ее может любой пользователь". Восстановить в новую да, а в эту же?


 
y-soft ©   (2004-01-26 14:46) [4]

А в эту же могут только SYSDBA или владелец базы


 
First_May ©   (2004-01-26 15:19) [5]

А можно ли вообще закрыть базу от SYSDBA?


 
y-soft ©   (2004-01-26 18:20) [6]

Можно.

1. Можно в базе создать роль SYSDBA и не присваивать ей никаких прав. Тогда SYSDBA не сможет даже открыть базу

2. Можно и самого SYSDBA удалить из ISC4.gdb (или ее аналогов в FB), но это уже будет паранойя :)


 
First_May ©   (2004-01-27 09:00) [7]

То y-soft
Второй способ однозначно не подходит, так как SYSDBA должен быть, потому что с ним работают другие базу, а вот с первым можно поподробнее? Да и вообще, подскажите пожалуйста, кто и как защищает базу IB от SYSDBA?


 
y-soft ©   (2004-01-27 09:35) [8]

>First_May © (27.01.04 09:00) [7]

От SYSDBA базу по идее никто защищать не должен, на то он и SYStem Data Base Administrator :)

А то, что от него все-таки можно прикрыться - следствие глючка в IB. IB сначала проверяет роли, а только потом пользователя, который пытается подсоединиться к базе. Кроме того, роль создается по умолчанию бесправной. Сразу после соединения происходит обращение к системным таблицам, чтобы проверить соответствие кодовой таблицы. Т.е. если создать в базе роль под названием SYSDBA и явно после этого не назначить ей никаких прав, то IB будет считать, что пользователь не имеет права работать с системными таблицами, а без этого получить доступ к базе невозможно

Т.е. порядок действий такой:

1. Владельцем базы должен быть не SYSDBA. Для того, чтобы сменить владельца надо сделать базе backup под учетной записью SYSDBA, а затем restore в новый файл под учетной записью будущего владельца
2. После этого надо открыть базу под учетной записью нового владельца и выполнить команду CREATE ROLE SYSDBA

ЗЫ С базой все равно можно будет работать в Yaffil Personal :(


 
First_May ©   (2004-01-27 10:13) [9]

Ясно, сейчас попробую


 
First_May ©   (2004-01-27 12:42) [10]

Это с Yaffil"ом пройдет?


 
First_May ©   (2004-01-27 12:44) [11]

А как вообще можно посмотреть, кто владелец базы?


 
y-soft ©   (2004-01-27 14:45) [12]

Пройдет с любым клоном IB, который поддерживает права и роли

Владельца базы проще всего узнать, открыв ее в InterBase Server Manager. Только вот надо иметь права на ее открытие :)


 
First_May ©   (2004-01-27 15:04) [13]

Все получилось, классно!!! :) Спасибо. А интересно, это они специально эту дыру не заделывают?


 
y-soft ©   (2004-01-27 15:35) [14]

Да, сейчас специально


 
First_May ©   (2004-01-27 16:15) [15]

А с чем связано?



Страницы: 1 вся ветка

Текущий архив: 2004.02.17;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.016 c
3-53402
suric
2004-01-26 15:12
2004.02.17
InterBase и хранимые процедуры


1-53627
GRF
2004-02-06 22:46
2004.02.17
Псевдомногострочность StringGrid


3-53410
janbolat
2004-01-26 13:16
2004.02.17
У меня вопрос на тему сохранения базы


9-53353
prihod
2003-08-05 12:42
2004.02.17
Оцените мою новую игрушку


1-53565
dima_crt
2004-02-09 10:46
2004.02.17
отладчик заходит в модуль компонента...