Отозвать привилегии пользователя в mySQL

Для каждого нового пользователя, которого мы создаем в mySQL, используя оператор

CREATE USER newuser@localhost IDENTIFIED BY 'password';

"SHOW GRANTS" показывает только привилегию "USAGE ON *.* ".

Но пользователь может выбирать, вставлять,.. в базы данных "test" и "information_schema", и я не могу отозвать эти привилегии в "test", используя инструкцию отзыва, приведенную ниже.

REVOKE ALL ON test.* FROM newuser@localhost;
ERROR 1141 (42000) : There is no such grant defined for user 'guest' on host 'localhost'

Я просто не хочу, чтобы новый пользователь имел доступ к базам данных test и information_schema.


person Roronoa    schedule 22.06.2013    source источник
comment
Как насчет удаления пользователя и создания его снова с GRANT ... ON <Schema name>.* вместо *.*?   -  person Nir Alfasi    schedule 22.06.2013
comment
Я попытался использовать грант в базе данных. * для newuser@localhost IDENTIFIED BY 'password'; но все же его предоставление для всех баз данных, т.е. использование на *.* для нового пользователя   -  person Roronoa    schedule 22.06.2013


Ответы (1)


http://dev.mysql.com/doc/refman/5.6/en/default-privacy.html

По умолчанию таблица mysql.db содержит строки, разрешающие доступ любому пользователю к базе данных test и другим базам данных с именами, начинающимися с test_. (...) Это означает, что такие базы данных могут использоваться даже учетными записями, которые в противном случае не обладают никакими привилегиями. Если вы хотите удалить доступ любого пользователя к тестовым базам данных, сделайте это следующим образом:

mysql> DELETE FROM mysql.db WHERE Db LIKE 'test%';
mysql> FLUSH PRIVILEGES;

(...) С предыдущим изменением его могут использовать только пользователи с глобальными привилегиями базы данных или привилегиями, предоставленными явно для тестовой базы данных.

База данных information_schema — это псевдобаза данных, доступная только для чтения, которая создается «на лету» по запросу. Пользователи всегда смогут обращаться к этой базе данных, но в ней представлены только те записи, к которым у них уже есть доступ.

person RandomSeed    schedule 22.06.2013