Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.135 c
1-53555
Воа
2004-02-05 12:51
2004.02.17
TColor -> HTML цвета


3-53368
jocko
2004-01-28 15:33
2004.02.17
Как закрыть соединение


3-53388
Smalik
2004-01-27 11:40
2004.02.17
Как программно очистить таблицу в Access e


3-53384
_VaaL_
2004-01-27 12:30
2004.02.17
Передать BLOB (картинка) в ADOQuery


8-53653
kin_soft
2003-10-15 08:34
2004.02.17
Рисование на рабочем столе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский