MySQL GRANT PROXY - что это значит?

14

Я бегу:

show grants for root@localhost;

и я вижу

 GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION

Из документации MySQL:

https://dev.mysql.com/doc/refman/5.5/en/proxy-users.html

Это позволяет внешнему пользователю быть прокси для второго пользователя; то есть иметь права второго пользователя. Другими словами, внешний пользователь - это «прокси-пользователь» (пользователь, который может выдать себя за другого или стать известным как другой пользователь), а второй пользователь - «прокси-пользователь» (пользователь, чья личность может быть принята прокси-пользователем) ,

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

Может кто-нибудь объяснить более простым способом?

Обновить:

Как я могу подключиться как другой пользователь? Я пробовал различные комбинации, имя пользователя и пароль, но я не могу подключить его.

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

Обновить:

Или это может означать, что пользователь root может подключиться как другой пользователь? Как это сделать хотя бы например если так?

Darius.V
источник
«Исходная учетная запись root, созданная во время установки MySQL, имеет привилегию PROXY ... WITH GRANT OPTION для« @ », то есть для всех пользователей и всех хостов. Это позволяет root настраивать прокси-пользователей, а также делегировать для других учетных записей полномочия по настройке прокси-пользователей. " Из документации здесь: dev.mysql.com/doc/refman/5.5/en/proxy-users.html
Кэти

Ответы:

3

Аутентификация пользователя MySQL - довольно длительный процесс для объяснения. Я отсылаю вас к моему 3,5-летнему ответу на ошибку MySQL: доступ запрещен для пользователя 'a' @ 'localhost' (используя пароль: YES), чтобы вы могли видеть шаги, которые пользователь предпринимает для аутентификации.

То, что делает грант PROXY, позволяет одному пользователю маскироваться под другого пользователя и обходить обычный, но длительный протокол аутентификации пользователя MySQL .

Такие прокси-гранты могли бы стать дырой в безопасности, если бы кто-то знал об этом и начал им пользоваться. Самый быстрый способ деактивировать это - запустить

TRUNCATE TABLE mysql.proxies_priv;
FLUSH PRIVILEGES;

Это уничтожит текущие привилегии прокси.

После этого, если вы хотите ограничить полномочия прокси, перейдите в ОС и сделайте следующее:

cd /var/lib/mysql/mysql
chmod -w proxies_priv.*

Это предотвратит создание новых привилегий прокси.

ДАЙТЕ ЭТО ПОПРОБУЙТЕ !!!

RolandoMySQLDBA
источник
1
Что если что-то сломается, если я урежу таблицу? Я могу перед усечением - экспортировать его и, если что-то сломается, вставить эти строки снова, и все должно работать, я надеюсь. Я вижу, что в таблице 2 рорса.
Дариус.В
Мои коллеги говорят, что дыры в безопасности нет, потому что это root, и он в любом случае имеет все права. Но, может быть, они не поняли, почему я спрашиваю - могу ли я подключиться к какому-то пользователю без полномочий root, поскольку у него есть прокси, а затем есть права?
Дариус.В
Примечание: этот ответ не показывает, как использовать функцию прокси-сервера
Alastair Irvine