Форум: "Базы";
Текущий архив: 2004.02.17;
Скачать: [xml.tar.bz2];
ВнизПраво на восстановление Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c