![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Право на восстановление [D5, IB6.x]
First_May © (2004-01-26 11:47:00)
Здравствуйте, подскажите пожалуйста, как можно пользователю дать право на восстановление базы? Что бы базу мог восстанавливать не только SYSDBA, но и напримре TEST.
First_May (2004-01-27 16:15:00) [1]
А с чем связано?
y-soft (2004-01-27 15:35:00) [2]
Да, сейчас специально
First_May (2004-01-27 15:04:00) [3]
Все получилось, классно!!! :) Спасибо. А интересно, это они специально эту дыру не заделывают?
y-soft (2004-01-27 14:45:00) [4]
Пройдет с любым клоном IB, который поддерживает права и роли
Владельца базы проще всего узнать, открыв ее в InterBase Server Manager. Только вот надо иметь права на ее открытие :)
First_May (2004-01-27 12:44:00) [5]
А как вообще можно посмотреть, кто владелец базы?
First_May (2004-01-27 12:42:00) [6]
Это с Yaffil"ом пройдет?
First_May (2004-01-27 10:13:00) [7]
Ясно, сейчас попробую
y-soft (2004-01-27 09:35:00) [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 09:00:00) [9]
То y-soft
Второй способ однозначно не подходит, так как SYSDBA должен быть, потому что с ним работают другие базу, а вот с первым можно поподробнее? Да и вообще, подскажите пожалуйста, кто и как защищает базу IB от SYSDBA?
y-soft (2004-01-26 18:20:00) [10]
Можно.
1. Можно в базе создать роль SYSDBA и не присваивать ей никаких прав. Тогда SYSDBA не сможет даже открыть базу
2. Можно и самого SYSDBA удалить из ISC4.gdb (или ее аналогов в FB), но это уже будет паранойя :)
First_May (2004-01-26 15:19:00) [11]
А можно ли вообще закрыть базу от SYSDBA?
y-soft (2004-01-26 14:46:00) [12]
А в эту же могут только SYSDBA или владелец базы
First_May (2004-01-26 14:15:00) [13]
Что значит: "Если база не восстанавливается поверх существующей, то восстановить ее может любой пользователь". Восстановить в новую да, а в эту же?
y-soft (2004-01-26 13:07:00) [14]
Если база не восстанавливается поверх существующей, то восстановить ее может любой пользователь. При этом он становится владельцем восстановленной базы и получает все права на нее...
First_May (2004-01-26 12:13:00) [15]
Или этого сделать КАТЕГОРИЧНО нельзя?