Wie kann man "REQUIRE SSL" ordnungsgemäß von einem einzelnen Benutzer entfernen?


8

Ich habe REQUIRE SSL erfolgreich einem einzelnen Benutzer gewährt, indem ich ...

mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;"

Aber ich versage beim Entfernen oder Widerrufen dieses Flags vom Benutzer unter Verwendung von Widerruf. Ich denke, ich kämpfe mit der Syntax. Gibt es eine geeignete Möglichkeit, es mit dem Befehl "widerrufen" zu entfernen, ohne die gesamte Berechtigung zu widerrufen?

Das MySQL 5.5-Handbuch, diese Site und die Interwebs haben mir noch nicht geholfen, einen geeigneten Gegenweg zu finden.

Diese SQL-Anweisung funktioniert.

UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES;

aber ich glaube wo ist ein GRANT REQUIRE SSLda muss ich ein REVOKE REQUIRE SSL, nicht wahr?

Antworten:


7

Was Sie suchen, ist in MySQL 5.5 nicht vorhanden

Leider ist der Befehl ALTER USER für MySQL 5.6 begrenzt. Alles was Sie tun können ist

ALTER USER user@host PASSWORD EXPIRE;

In MySQL 5.7 können Sie den Befehl ALTER USER wie folgt ausführen

ALTER USER user@host REQUIRE NONE;

Wenn es um MySQL 5.5 geht, haben Sie den zweckmäßigsten Weg gemacht. Großartig !!!

Ein politisch korrekterer Weg wäre gewesen, Folgendes zu tun:

DROP USER user@host;
CREATE USER user@host;
GRANT ... on ... TO user@host IDENTIFIED BY '...';

Ansonsten empfehle ich Ihnen, dass Sie das getan haben, was nötig war.


Gute Antwort für verschiedene MySQL-Versionen. Für MySQL 5.6 erfordert die Lösung von @ Abey kein Löschen und erneutes Erstellen von Benutzern.
mxxk

6

Dies war eines der Google-Ergebnisse, als ich einen von REQUIRE SSLmir erzwungenen MySQL-Benutzer entfernen wollte . Was ich tat , war nicht REQUIRE NONE aufUSAGE

GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE NONE;

Überprüfen Sie durch Ausführen, ob die Einstellungen geändert wurden

SHOW GRANTS FOR 'dbusername'@'%' ;

Arbeitete an MySQL 5.6


Arbeitete wie ein Zauber unter MySQL 5.6. Elegant und einfach :)
mxxk

Welche Version von MySQL verwenden Sie? Ich verwende MySQL Version 5.7.22. SHOW GRANTs SSL nicht erwähnen - stackoverflow.com/questions/56203365/...
committedandroider
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.