Как запретить пользователю на стороне клиента использовать команды MySQL, когда срок действия пароля истекает со стороны сервера во время входа клиента в систему?

#mysql #client-server #mysql-5.7 #mysql-cli

Вопрос:

  1. Я использую root для входа на локальную серверную машину MySQL 192.168.156.33 и создания нового пользовательского теста для анонимного хоста % CREATE USER test IDENTIFIED BY 'password';
  2. Я использую клиентскую машину для входа в систему с помощью пользовательского теста mysql -u test -h 192.168.156.33 -p
  3. Я снова использую серверную машину, чтобы установить срок действия учетной записи с тестовым ALTER USER 'test'@'%' PASSWORD EXPIRE; паролем FLUSH PRIVILEGES; , используя и используя Уведомление о том, что пользователь все еще входит в систему на клиентской машине
  4. Пользовательский тест на клиентской машине все еще может использовать команду: SHOW DATABASES, USE, SELECT,... без предупреждения об изменении пароля
  5. После того, как я использую команду r или ( exit и снова войду в систему) и попытаюсь использовать команду, появится предупреждение об изменении пароля, как обычно

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

Изображение

Комментарии:

1. Можно ли было бы пнуть пользователя? (Заставляя его повторно подключиться, затем он должен сменить пароль)

2. Как запретить пользователю использовать команды при истечении срока действия пароля и показывать им предупреждение об изменении пароля без повторного подключения к серверу? Теперь срок действия пароля проверяется только во время аутентификации. И вы не должны форсировать повторное подключение, теоретически это может нарушить работу текущего пользователя и привести к некорректности логических данных.

3. Здравствуйте @Akina, если я этого не сделаю, пользователи смогут делать что-то с конфиденциальными данными в наших базах данных без разрешения. Я тестирую его также при ПРЕДОСТАВЛЕНИИ и ОТМЕНЕ привилегий, но сначала я тестирую этот пароль с истекшим сроком действия, и я сталкиваюсь с проблемой.

4. Привет @Solarflare, да, это было бы так. У вас есть какие-либо решения?

5. если я этого не сделаю, пользователи смогут что-то делать с конфиденциальными данными в наших базах данных без разрешения. Нет. Во время аутентификации у пользователя было разрешение, следовательно, сеанс получает это разрешение. Тот факт, что вы изменили разрешение для пользователя, не изменяет разрешение сеанса. И сеанс может получить доступ к объекту, который вы «защитили».