В настоящее время любой пользователь системы может запускать:
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, если вы не хотите, чтобы они входили в систему? Чего вы хотите добиться с такой настройкой?
Однако вы могли:
Запретить некоторым локальным пользователям использовать команду mysql (в этом случае они могут использовать другое программное обеспечение для входа в систему). См. Подробности: Запрещение пользователям запускать определенные программы. Самый простой способ - изменить права доступа к файлу / usr / bin / mysql, но тогда пользователи все равно смогут запускать другие копии mysql в системе. Даже если вы заблокируете это, они смогут подключаться с помощью другого программного обеспечения.
Запретить некоторым локальным пользователям подключаться к порту 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 для создания файла входа в систему, к которому определенные пользователи имеют доступ или который находится в их домашнем каталоге. Таким образом, только определенные пользователи могут видеть конфигурацию