Как требовать SSL для всех удаленных пользователей - программирование
Подтвердить что ты не робот

Как требовать SSL для всех удаленных пользователей

Учитывая систему MySQL с несколькими удаленными пользователями (пользователи формы 'joecool'@'192.168.1.2'); есть ли SQL-оператор, который я могу использовать для REQUIRE SSL для всех удаленных пользователей?

Команда одиночного пользователя:

GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;

Наличие "все пользовательской" версии было бы особенно полезно, потому что phpMyAdmin не поддерживает флаг REQUIRE SSL при создании или изменении пользователей.

4b9b3361

Ответ 1

(ранее) принятый ответ Хонзы кажется неправильным, см. его комментарии. Кажется, невозможно использовать запрос GRANT для изменения нескольких пользователей одновременно, поскольку MySQL не поддерживает подстановочные знаки для имен пользователей.

Как вы сами предположили, вы можете изменять записи в таблице mysql.user непосредственно с помощью запроса UPDATE и, как предположил Марк Делиль, затем очистить priviliges с помощью

FLUSH PRIVILEGES;

Также см. dba.stackexchange.com > Как предоставить несколько привилегий пользователям.

Ответ 2

Да, вы можете напрямую изменить таблицу mysql.user(будьте осторожны). Затем вы просто выдаете инструкцию FLUSH PRIVILEGES, чтобы применить изменения к работающему серверу.

Ответ 3

Вы можете настроить mysqld с помощью require_secure_transport.

[mysqld]
...
ssl-ca = ...
ssl-cert = ...
ssl-key = ...
...
require-secure-transport = ON

Эта возможность дополняет требования SSL для каждой учетной записи, которые принимают старшинство. Например, если учетная запись определена с помощью REQUIRE SSL, включение require_secure_transport не позволяет использовать для подключения через файл сокета Unix.