Главная страница
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.014 c
6-53684
serferian
2003-12-05 10:58
2004.02.17
Имя пользователя терминала Win2k


1-53515
alless
2004-02-05 18:28
2004.02.17
Word


7-53778
Ил_204
2003-12-02 13:08
2004.02.17
Com-порт, модем


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


1-53466
VID
2004-02-05 19:53
2004.02.17
Уменьшение межстрочного интервала в RichEdit