Справочное руководство по MySQL версии 4.1.1-alpha



         

Глава 4.2.7 Привилегии, предоставляемые MySQL - часть 3


Команда processlist выводит информацию о задачах, выполняющихся на сервере. Команда kill уничтожает серверные потоки. Собственные потоки всегда можно просмотреть или уничтожить, но для отображения потоков, запущенных другими пользователями, нужна привилегия PROCESS,а для уничтожения потоков, запущенных другими пользователями, потребуется привилегия SUPER. Обратитесь к разделу See section 4.5.5 Синтаксис команды KILL.

В общем случае идея предоставлять привилегии только тем пользователям, которым они необходимы, хорошая, но к предоставлению некоторых из них следует относиться особенно внимательно:

  • Привилегия GRANT позволяет пользователям передавать свои привилегии другим пользователям. Два пользователя с неодинаковыми привилегиями, имея привилегию GRANT, способны объединить свои привилегии.

  • Привилегия ALTER может быть использована для переименования таблиц и разрушения таким образом всей системы привилегий.

  • Привилегия FILE может использоваться злонамеренно для считывания любого доступного файла, хранящегося на сервере, или любого файла в каталоге текущей базы данных в таблицу, к содержимому которой можно затем получить доступ с помощью команды SELECT.

  • Привилегия SHUTDOWN может использоваться злонамеренно для полного прекращения работы сервера и, таким образом, полного запрещения обслуживания других пользователей.

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

  • Привилегии доступа к базе данных mysql могут быть использованы для изменения паролей и другой информации, относящейся к привилегиям доступа. (Пароли хранятся в зашифрованном виде, поэтому злоумышленник не сможет просто прочесть их, чтобы получить пароли в виде обычного текста). Получив доступ к столбцу паролей mysql.user, любой пользователь может войти на сервер MySQL под именем другого пользователя (имея достаточные привилегии, тот же самый пользователь может заменить пароль на другой).

    Есть вещи, которые система привилегий MySQL делать не может:

    • Нельзя явно указать, что данному пользователю должен быть закрыт доступ. Т.е. вы не можете явно выбрать пользователя и затем отказать ему в подключении.

    • Нельзя указать, что некий пользователь имеет привилегии создавать или удалять таблицы в базе данных, но не имеет привилегий создавать или удалять саму базу данных.




      Содержание  Назад  Вперед