Я установил пользователя БД на сервере с помощью CREATE USER myuser IDENTIFIED VIA unix_socket;
и, конечно, FLUSH PRIVILEGES;
, Он работает нормально, я могу подключиться к базе данных с помощью команды mysql
.
Затем я SSHed на сервер как myuser
, запускаю sudo su anotheruser
(у которого нет его учетной записи mysql) и просто для проверки думаю , что запустить mysql
. Я ожидал, что это потерпит неудачу, но вместо этого я получил оболочку mysql. Я был сбит с толку, поэтому побежал SELECT USER();
и он вернул myuser@localhost
.
Что это значит? Как мог anotheruser
Linux войти в MySQL как myuser
? Является ли unix_socket
безопасным способом аутентификации пользователя?
Спасибо