Назад | Перейти на главную страницу

Разрешить использование пользователя mysql только указанным пользователем

В настоящее время любой пользователь системы может запускать:

systemuser$ mysql -u mysqluser -p

(при условии, что он знает пароль).

Есть ли способ запретить mysql (cli) использовать конкретного пользователя mysql?

например.

systemuser$   mysql -u mysqluser -p'validmypass'
   (success)
otheruser$    mysql -u mysqluser -p'validpass'
   (you don't have access)
otheruser$    mysql -u anotheruser -p'validpass'
   (success)

(т.е. только конкретный пользователь системы может использовать конкретного пользователя mysql).

Не думаю, что это хорошая идея. Процесс mysqld прослушивает сеть на каком-то порту (3306), поэтому может быть сложно предотвратить подключение определенных пользователей системы к определенному порту с определенным именем пользователя mysql. Зачем давать некоторым людям пароль mysql, если вы не хотите, чтобы они входили в систему? Чего вы хотите добиться с такой настройкой?

Однако вы могли:

  1. Запретить некоторым локальным пользователям использовать команду mysql (в этом случае они могут использовать другое программное обеспечение для входа в систему). См. Подробности: Запрещение пользователям запускать определенные программы. Самый простой способ - изменить права доступа к файлу / usr / bin / mysql, но тогда пользователи все равно смогут запускать другие копии mysql в системе. Даже если вы заблокируете это, они смогут подключаться с помощью другого программного обеспечения.

  2. Запретить некоторым локальным пользователям подключаться к порту mysql. Подробнее см. В этом вопросе: Как заблокировать доступ локального пользователя к локальному порту?

Пользователи в стандартной mysql auth состоят из имени пользователя и хоста (username @ host) и защищены паролем. Вот и все. Если вы хотите использовать стандартную аутентификацию пользователя MySQL, вы не сможете этого добиться.

Есть способы аутентификации операционной системы в MySQL, но они хорошо документированы. например PAM аутентификация: http://dev.mysql.com/doc/refman/5.6/en/pam-authentication-plugin.html.

Другой способ (MySQL 5.6+) может заключаться в изменении пароля, так что он неизвестен никому, и использование редактора конфигурации MySQL. http://dev.mysql.com/doc/refman/5.6/en/mysql-config-editor.html для создания файла входа в систему, к которому определенные пользователи имеют доступ или который находится в их домашнем каталоге. Таким образом, только определенные пользователи могут видеть конфигурацию