|
|
|
mysql и приоритет разрешений
|
|||
|---|---|---|---|
|
#18+
Всем привет. Не могу до конца понять, как применяются разрешения. Опишу ситуацию. Есть такой набор разрешений: Код: sql 1. Нужно дать дополнительно права на базу mydb_test. Даю: Код: sql 1. . Конечно делаю flush privileges В итоге имеем следующее: при выполнении drop ему выдаёт Код: sql 1. При этом частично на в другом приложении начали сыпаться ошибки для базы mydb_test : Код: sql 1. При детальном рассмотрении, пришёл к выводу, что mysql игнорирует гранты CREATE, DROP, выданные позже на базу, а использует только гранты от mydb%. По какой-то причине другому приложению наоборот, выдало только гранты CREATE, DROP и больше никаких других. Как именно происходит выбор пермишинов в mysql? До первого совпадения? Или как-то по хитрому? PS. База боевая и просто так тестировать пермишины не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 13:56:40 |
|
||
|
mysql и приоритет разрешений
|
|||
|---|---|---|---|
|
#18+
skeletor, права в мускле. есть таблица прав юзера - с колонками create insert .... и вкаждой колонке либо да либо нет. (можно / нельзя) есть таблица прав на отдельную базу для данного юзера, на отдельную таблицу, на отдельный столбик. как происходит выборка прав построения списка всех прав для заданого юзера...получиться тчото типа для юзера вася к чему привелегии юзер хост база таблица поле вставка удаление создание .... юзер да да нет юзер б1 да нет не юзер б1 т2 нет нет нет ........... и когда ему надо проверить право на доступ скажем к полю п2 таблицы т1 базы б4 для юзера1 с хостом5 он ищет из этой кучи самую подходящую строчку(которая точнее всего...совпадение по большему числу критериев. тоесть если подходят две строки, одня для юзер1 хост5 , другая для юзер1 хост5 база б4 - то вторая больше подходит) и имено эти права есть актуальные. итого если на уровне базы можно изменять, а на уровне таблицы этого права нету, то значит менять в базе можно, кроме этой таблицы. если в базе нельзя альтер, но для таблицы т2 можно, значит везде нельзя но для одной таблицы можно. и того, создав два права добавочных для уровня базы, ты для этой же базы запретил все остальное. продублируй на базу что можно, на всём сервере это всё что мускл сможет нарыть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2014, 15:09:02 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38661533&tid=1834720]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 358ms |

| 0 / 0 |
