Есть ли инструмент базы данных, который показывает список команд SQL, для которых у меня есть разрешение? - PullRequest
0 голосов
/ 22 декабря 2011

Я говорил об этом с разработчиком HeidiSQL, и он сказал мне, что я могу запросить его с помощью команды "show grants" в sql, но я не понимаю, какой набор результатов из него получается.

show grants // я выполняю запрос здесь

ИСПОЛЬЗОВАНИЕ GRANT ON . TO 'fsdb1user1' @ '%' ИДЕНТИФИЦИРОВАНО ПО ПАРОЛУ 'что-то'

GRANT SELECT, INSERT,ОБНОВЛЕНИЕ, УДАЛЕНИЕ, СОЗДАНИЕ, УДАЛЕНИЕ, ССЫЛКИ, ИНДЕКС, ИЗМЕНЕНИЕ, СОЗДАНИЕ ВРЕМЕННЫХ ТАБЛИЦ, ЗАМОК ЗАМКА НА fsdb1. * TO 'fsdb1user1' @ '%'

MySQL документация говорит

SHOW GRANTS отображает только те привилегии, которые явно предоставлены указанной учетной записи.Для учетной записи могут быть доступны другие привилегии, но они не отображаются.Например, если существует анонимная учетная запись, именованная учетная запись может использовать свои привилегии, но SHOW GRANTS не будет их отображать.

Я думаю, что где-то может быть какое-то программное обеспечение, пытающееся выполнить некоторые запросы и проверкидарует таким образом.

1 Ответ

1 голос
/ 22 декабря 2011

Похоже, этому пользователю разрешено многое делать.Вот хорошая справка по всем этим http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-privileges.

. Пользователь, о котором идет речь, может выполнять запросы SELECT, UPDATE и DELETE.Они могут создавать таблицы и базы данных.Они могут УДАЛИТЬ таблицы, базы данных и представления.Они могут создавать и изменять ИНДЕКСЫ.Они могут изменить структуру таблицы.Они могут использовать CREATE TEMPORARY TABLE.И, наконец, они могут ЗАБЛОКИРОВАТЬ ТАБЛИЦЫ, на которые у них есть привилегии SELECT.В этом случае пользователь может сделать это для любой таблицы в этой базе данных (fsdb1) и с любого хоста.

...