|
Права доступа
|
|||
---|---|---|---|
#18+
У меня в базе все таблицы созданы SYSDBA(masterkey). Как мне перевести всю базу на другого пользователя, чтобы SYSDBA никаких прав не имел, а у нового пользователя были все права. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2003, 14:23 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Привет! У SYSDBA права отнять нельзя. Чтобы перевести базу на другого пользователя: 1. присоединись под SYSDBA; 2. на этом шаге новому пользователю присваеваешь привилеги на чужие обьекты. выполни Код: plaintext 1. 2. 3. 4. 5. 6.
NEW_USER - пользователь, на которого переводишь базу OLD_USER - пользователь, которому в данный момент принадлежат таблицы, процедуры, представления, короче ето тот, кто их создал. выполняе6 ето для всех OLD_USER. 3. делаешь нового пользователя владельцем обьктов других пользователей Код: plaintext 1. 2. 3.
делаешь нового пользователя владельцем базы Код: plaintext 1. 2.
4. сделай бэкап/рэстор базы, при этом подключайся под NEW_USER ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2003, 14:53 |
|
Права доступа
|
|||
---|---|---|---|
#18+
ОЧЕНЬ не рекомендую изменять системные таблицы!!! Можно получить кучу сюрпризов!!! Их можно только читать!!! Все остальное можно делать только стандартными командами. И например данная задача решается инструкцией Grant ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 11:25 |
|
Права доступа
|
|||
---|---|---|---|
#18+
привет! Код: plaintext 1.
что касается изменения данных, то конечно, а вот изменеие структуры таблиц, бэкап/рэстор, останов/запуск/рестасрт базы.., если не трудно, продемонстируйте, пожалуйста, как Grant решит данные задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 11:43 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Была задача изменять структуру? Насколько я понял, нужно изменить права и все ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 11:44 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Так, на всякий случай приведу выдержку из хелпа Assigns privileges to users for specified database objects. Available in SQL, DSQL, and isql. GRANT <privileges> ON [TABLE] {tablename | viewname} TO {<object> | <userlist> | GROUP UNIX_group} | EXECUTE ON PROCEDURE procname TO {<object> | <userlist>} | <role_granted> TO {PUBLIC | <role_grantee_list>}; <privileges> = {ALL [PRIVILEGES] | <privilege_list>} <privilege_list> = SELECT | DELETE | INSERT | UPDATE [(col [, col …])] | REFERENCES [(col [, col …])] [, <privilege_list> …] <object> = PROCEDURE procname | TRIGGER trigname | VIEW viewname | PUBLIC [, <object> …] <userlist> = [USER] username | rolename | Unix_user} [, <userlist> …] [WITH GRANT OPTION] <role_granted> = rolename [, rolename …] <role_grantee_list> = [USER] username [, [USER] username …] [WITH ADMIN OPTION] ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 11:48 |
|
Права доступа
|
|||
---|---|---|---|
#18+
под всеми правами я понял наличие у пользователя прав на изменения данных, структуры таблиц, бэкап/рэстор, останов/запуск/рестасрт базы и прочие права овнера базы. права на изменения данных можно присвоить грантом. а вот для присвоения остальных прав в ИБ нет никаких стандартных средст и возможностей. поетому и приходистя самому руками править системные таблицы. если кто-то знает иной способ, было бы интересно выслушать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 12:11 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Насколько я знаю, изменение структуры таблицы осуществляется правом REFERENCES, резервирование и восстановление это обычные операции чтения/записи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 13:37 |
|
Права доступа
|
|||
---|---|---|---|
#18+
REFERENCES дает право ссылаться во внешнем клуче на другую таблицу. оно никаких прав на изменение структуры не дает. Код: plaintext 1.
может быть. но эти обычные операции чтения/записи доступны не всем пользователям, а только овнеру базы и SYSDBA ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2003, 13:59 |
|
Права доступа
|
|||
---|---|---|---|
#18+
В таком случае пересоздаешь базу под нужным пользователем и копируешь туда данные например IBPump'ом ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2003, 03:54 |
|
Права доступа
|
|||
---|---|---|---|
#18+
>В таком случае пересоздаешь базу под нужным пользователем и копируешь >туда данные например IBPump'ом это полный геммор... Достаточно сделать backup и RESTORE под новым пользователем, так как пользователь, сделавший ресторе автоматические становится ее владельцем... P.S. А sysdba в любом случае будет иметь все права, такая у него судьба. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2003, 06:39 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Ну всё-таки задача решаема или нет? Что SYSDBA всегда будет иметь все права ИМХО бред. О какой тогда безопасности может идти речь, если любой, прочитав книжку, сможет делать с базой всё что угодно. Надо именно УДАЛИТЬ SYSDBA, а владельцем с полными правами сделать другого пользователя и с ДРУГИМ ПАРОЛЕМ. Как это сделать с помощью GRANT я не знаю. Если кто решал такую задачу или знает как её решать, подскажите плиз. Пока ответ я вижу только в изменении системных таблиц, но этот шаг мне не очень нравится. Приемлимо также создать новую базу, являющейся отражением старой и сделать репликацию. ТОлько это геморройно. Кстати никто не знает средств для репликации Interbase или надо для каждой базы писать своё приложение? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2003, 11:04 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Так попробуй удалить SYSDBA. Увидишь что у тебя получится. >О какой тогда безопасности может идти речь, если любой, >прочитав книжку, сможет делать с базой всё что угодно Вот мне интересно, а что ты сделаешь с помощью SYSDBA если небудеш знать его пароль? Или мысль о смене пароля для SYSDBA не посещала твою светлую голову? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2003, 11:30 |
|
Права доступа
|
|||
---|---|---|---|
#18+
Привет! Код: plaintext 1. 2.
Но обьекты базы все равно останутся у старого пользователя и новый, под которым сделан backup, не сможет менят их структуру Вся проблема в том, что в концепции Interbase нет понятия системной привилегии (привилегии на alter, drop, create, backup, restore, shutdown и прочее, в духе ORACLE). Ну а уж если нет в концепции, что можно говорить о реализации. В Interbase - у SYSDBA все права на все, - у овнера базы (фактически это овнер системниых таблиц) права на backup, restore, shutdown прочие действия с базой, - у овнера обьектов права на изменения структуры этих обьектов. грант дает привилегии на изменение только ДАННЫХ. по причине отсутствия понятия системной привилегии, попытки присвоить или отбрать права на выполнение вышеупомянутых действий, кроме изменения данных, будут связаны с гемором ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2003, 11:42 |
|
|
start [/forum/topic.php?fid=40&msg=32113504&tid=1580799]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
318ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 426ms |
0 / 0 |