Пользователь базы данных MySQL: Какие привилегии необходимы?

Краткая инструкция по установке для WordPress ( «5 минут» ) означает, что:

  

Создайте базу данных для WordPress на своем веб-сервере, а также пользователь MySQL, у которого есть все привилегии для доступа и изменения.

Во время создания нового блога профессионально мне было интересно, как это сопоставляется с тем, что мне предлагает конфигурация привилегий /разрешений базы данных MySQL:

  • Данные: SELECT, INSERT, UPDATE, DELETE
  • Определение: CREATE, ALTER, DROP
  • Дополнительно: ИНДЕКС
  • <Сильный> Больше:
    1. LOCK TABLES
    2. ЛИТЕРАТУРЫ
    3. СОЗДАТЬ ВРЕМЕННЫЕ ТАБЛИЦЫ
    4. CREATE VIEW
    5. SHOW VIEW
    6. CREATE ROUTINE
    7. ВЫПОЛНИТЬ
    8. ALTER ROUTINE

Я уверен, что для первых трех групп я назвал их Data, Definition и Extra здесь. Но как насчет остальных ниже Подробнее ? Обычно я бы сказал, что они не нужны, но я хотел бы получить второе мнение.

48 голосов | спросил hakre 6 Jpm1000000pmThu, 06 Jan 2011 15:53:46 +030011 2011, 15:53:46

4 ответа


12

Другие не нужны, когда вы указываете.

Btw, что вы можете сделать, это условно установить пользователь /пароль на основе запрошенной страницы. Как и в непривилегированном с выбором /вставке /обновлении /удалении для нормального использования, а также при привилегиях с данными, связанными с определением и индексом, при посещении страницы обновления.

ответил Denis de Bernardy 6 Jpm1000000pmThu, 06 Jan 2011 19:09:44 +030011 2011, 19:09:44
31

«Все привилегии» обычно означают, что вы должны делать все для пользователя. Однако ...

Я нашел по крайней мере одну статью , в которой утверждается, что MySQL пользователю нужны только:

  • SELECT
  • INSERT
  • UPDATE

Копаем глубже , я обнаружил, что для полной работы (автоматические обновления, установка /удаление плагинов и т. д.), WordPress требует некоторых дополнительных разрешений:

  • DELETE
  • ALTER (для обновлений)
  • CREATE TABLE
  • ТАБЛИЦА DROP

Также не упоминается, но имеет смысл:

  • INDEX

Но это единственные две солидные ссылки, которые я могу найти, которые подкреплены мнениями, опубликованными в другом месте. Я по-прежнему рекомендую вам придерживаться GRANT ALL, но если вы абсолютно должны ограничить использование БД, начните с этих 7 привилегий и полностью> , чтобы убедиться, что все работает как ожидается.

ответил EAMann 6 Jpm1000000pmThu, 06 Jan 2011 18:17:25 +030011 2011, 18:17:25
12

Вот что должен сказать Codex при ограничении привилегий пользователей базы данных:

  

Для обычных операций WordPress, таких как размещение сообщений в блогах, загрузка медиафайлов, публикация комментариев, создание новых пользователей WordPress и установка плагинов WordPress, пользователю базы данных MySQL нужны только данные для чтения и записи данных в базу данных MySQL; SELECT, INSERT, UPDATE и DELETE.

     

Поэтому любая другая структура базы данных и права администрирования, такие как DROP, ALTER и GRANT, могут быть отменены. Отменяя такие привилегии, вы также улучшаете политики сдерживания.

     

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

http://codex.wordpress.org/Hardening_WordPress

ответил redburn 12 Jpm1000000pmSun, 12 Jan 2014 21:09:25 +040014 2014, 21:09:25
2

Что касается «примечания» в сообщении Redburn, в Wordpress Codex также есть предупреждение, вы также должны прочитать об изменениях в обновлении и изменении схемы базы данных ...

(Edit: Я заметил, однако, что Я НЕ ВИДЕТЬ «GRANT» в списке привилегий больше при создании или обновлении пользователя Возможно, «CREATE» должен быть добавлен в список? Кто-нибудь имеет информацию об этом? - используя Hostgator cPanel, март 2016 года -)

  

Внимание:
  Попытка обновления без этих привилегий [ SELECT, INSERT, UPDATE, DELETE, DROP, ALTER и GRANT ] может вызвать   проблемы при изменении схемы базы данных. Таким образом, это НЕ   рекомендуется отменить эти привилегии. Если вы чувствуете необходимость делать   по соображениям безопасности, пожалуйста, убедитесь, что у вас есть   план резервного копирования на месте сначала, с регулярными резервными копиями всей базы данных, которые   вы прошли проверку, и их можно легко восстановить. Ошибка   Обновление базы данных обычно можно решить путем восстановления базы данных назад   к старой версии, предоставив надлежащие разрешения, а затем разрешая   WordPress снова попробуйте обновить базу данных. Восстановление базы данных будет   верните его обратно в эту старую версию и администрацию WordPress   экраны затем обнаруживают старую версию и позволяют запускать   необходимые команды SQL на нем. Большинство обновлений WordPress не меняются   схемы, но некоторые делают. Обновление только основных моментов (от 3,7 до 3,8, для   пример) изменит схему. Незначительные обновления (от 3.8 до 3.8.1) будут   в целом нет. Тем не менее, сохраняйте регулярную резервную копию.

Codex: http://codex.wordpress.org/Hardening_WordPress

ответил Jerry9 30 MaramWed, 30 Mar 2016 09:59:25 +03002016-03-30T09:59:25+03:0009 2016, 09:59:25

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132