|
|
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Господа, подскажите пожалуйста, какими привилегиями должен обладать пользователь user2, чтобы он смог бы в схеме user1 делать все, что и пользователь user1, но при этом он не должен быть админом и его права должны распространяться только на схему user1 (ну и, конечно, user2)? Более конкретно: С таблицами все достаточно гладко... Не получается дать пользователю user2 возможность создавать процедуры в схеме user1, если user2 не админ. :( Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 13:05 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Я понимаю так(если я понимаю правильно): 1) Сначала от имени sys даёшь юзеру user1 право создавать процедуры с опцией ADMIN OPTION: Код: plaintext 1. 2. 2) Потом от имени юзера user1 даёшь право создания процедур юзеру user2 Код: plaintext 1. 2. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 14:20 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Хотя наверно это не совсем правильно что user1 будет иметь возможность кому попало раздавать такую системную привелегию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 14:39 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Пардон, CREATE TABLE даёт право только в своей схеме создавать процедуры, значит надо давать CREATE ANY TABLE. А это даёт возможность user2 создавать в любой схеме. Значит я был не прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 14:53 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Конечно же CREATE ANY PROCEDURE. Да, что в спешке не напишешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 14:54 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Сделал все, как описано, пытаюсь: CREATE PROCEDURE user1.sp_USER2_TEST AS BEGIN NULL; END; Говорит: ORA-01031: Привилегий недостаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:00 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Sorry, Протормозил :) Но я не могу дать user2 CREATE ANY -- это для него слишком круто :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:03 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Можно сделать так: 1) В схеме юзера user1 создать процедуру, в которой динамически будет создаваться код процедуры в схеме юзера user1. Так как привелегия EXECUTE обьектная : её можно выдавать на конкретную процедуру, конкретному пользователю - даёт возможность выдавать право выполнения такой процедуры только тем кому положено, в данном случае юзеру user2. Что-бы нельзя было выполнить какую угодно команду, включим начало в саму процедуру "CREATE OR REPLACE PROCEDURE ". Поэтому передавать надо только оставшийся текст. Текст процедуры создания процедур(создаётся юзером user1 в своей схеме) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Даём право создания процедур в схеме юзера user1 юзеру user2: Код: plaintext 1. Проверим: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Вроде работает. Вполне вероятно, что у Oracle есть какие-то стандартные возможности решения проблемы, но я не в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:21 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Круто! Спасибо Может кто знает попроще (более стандартно)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:24 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
А ваще нафига такой геморрой? Не проще ли юзеру 2 создавать процедуры у себя и давать публичный синоним (вариант 2 - юзер 1 создаёт синоним для процедуры юзера 2)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:27 |
|
||
|
Опять привилегии...
|
|||
|---|---|---|---|
|
#18+
Ну и привилегии соответствующие, разумеется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2003, 15:28 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32095292&tid=1992069]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 421ms |

| 0 / 0 |
