Detaillierte Erläuterung der MySQL 8.0-Richtlinie zum Ablauf von Passwörtern

Detaillierte Erläuterung der MySQL 8.0-Richtlinie zum Ablauf von Passwörtern

Ab MySQL 8.0.16 können Sie eine Richtlinie zum Ablaufen von Passwörtern festlegen. Heute werden wir diesen kleinen Wissenspunkt näher erläutern.

1. Legen Sie manuell ein einzelnes Kennwortablaufdatum fest

In MySQL 8.0 können wir den Befehl „Alter User“ verwenden, um das Kennwort ablaufen zu lassen.

Zuerst erstellen wir das Konto yeyz, das Passwort ist yeyz

[root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 -e "Wählen Sie 1"
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
+---+
| 1 |
+---+
| 1 |
+---+

Hier lassen wir es auslaufen:

mysql> Benutzer ändern yeyz@'127.0.0.1' Passwort läuft ab;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

Schauen wir uns den Zusammenhang noch einmal an:

[root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 -e "Wählen Sie 1"
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
Bitte verwenden Sie die Option --connect-expired-password oder rufen Sie MySQL im interaktiven Modus auf.

-- Fordern Sie uns auf, über den Befehl --connect-expire-password eine Verbindung herzustellen. Fügen wir ihn hinzu und sehen wir uns an: [root@VM-0-14-centos ~]# /usr/local/mysql-8.0.19-el7-x86_64/bin/mysql -uyeyz -pyeyz -h127.0.0.1 -P4306 --connect-expired-password -e "select 1" 
mysql: [Warnung] Die Verwendung eines Passworts in der Befehlszeilenschnittstelle kann unsicher sein.
FEHLER 1820 (HY000) in Zeile 1: Sie müssen Ihr Kennwort mit der Anweisung ALTER USER zurücksetzen, bevor Sie diese Anweisung ausführen.

– Hier werden wir aufgefordert, die Syntax „Alter User“ auszuführen, um zuerst das Kennwort zu ändern und dann das Kennwort zu verwenden.

Natürlich können wir neben der manuellen Festlegung des Kennwortablaufs auch festlegen, dass das Kennwort nie abläuft, und die Ablaufzeit angeben:

- Legen Sie fest, dass das Kennwort nie abläuft. mysql> Erstellen Sie den Benutzer yeyz1@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz1'. Das Kennwort läuft nie ab.
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

- Legen Sie die Ablaufdauer des Kennworts auf die angegebene Anzahl von Tagen fest. mysql> Erstellen Sie einen Benutzer yeyz2@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz2'. Das Kennwortablaufintervall beträgt 90 Tage. 
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

Wenn wir die globale Richtlinie zum Ablauf von Passwörtern befolgen möchten, können wir das Schlüsselwort „default“ verwenden:

mysql> Benutzer yeyz3@'127.0.0.1' erstellen, identifiziert mit 'mysql_native_password' durch 'yeyz3', Passwort läuft standardmäßig ab;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

In diesem Fall wird die durch den Parameter default_password_lifetime festgelegte Zeit eingehalten.

2. Legen Sie die globale Ablaufzeit für das Passwort fest.

Wenn wir möchten, dass alle Passwörter eine Ablaufzeit haben, können wir den Parameter default_password_lifetime konfigurieren. Der Standardwert ist 0, wodurch das automatische Ablaufen von Passwörtern deaktiviert wird. Wenn der Wert von default_password_lifetime eine positive Ganzzahl N ist, gibt er die zulässige Kennwortlebensdauer in Tagen an. Daher muss das Kennwort alle N Tage geändert werden.

mysql> Variablen wie „%lifetime%“ anzeigen;
+-----------------------------------------+----------+
| Variablenname | Wert |
+-----------------------------------------+----------+
| Lebensdauer des Standardpassworts | 0 |
+-----------------------------------------+----------+
1 Zeile im Satz (0,00 Sek.)

3. Legen Sie die globale Kennwortwiederverwendungszeit und die Anzahl der Wiederverwendungsintervalle fest

Bitte beachten Sie, dass Wiederverwendbarkeitszeit, Wiederverwendbarkeitsintervall und Ablaufzeit unterschiedliche Konzepte sind. Die Ablaufzeit bedeutet, dass das Passwort zu diesem Zeitpunkt abläuft und unbrauchbar wird. Wiederverwendbar bedeutet, dass das historische Passwort erst nach einer bestimmten Zeit oder nachdem das Passwort eine bestimmte Anzahl Mal geändert wurde, wiederverwendet werden kann.

Wir können die Wiederverwendbarkeitsdauer eines einzelnen Passworts oder die Anzahl der Wiederverwendbarkeitsintervalle mit der folgenden Methode festlegen:

Die Ablaufzeit gibt an, wie lange es dauert, bis Sie Ihr Passwort ändern müssen;

Die Anzahl der Ablaufzeiten gibt an, wie oft ein neues Passwort vergeben werden kann.

Diese beiden Funktionen erfordern die Verwendung der Parameter password_history bzw. password_reuse_interval.

Lassen Sie uns den Parameter password_history testen:

mysql> alter user yeyz@'127.0.0.1' identifiziert mit 'mysql_native_password' von 'yeyz';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

MySQL> 
mysql> Variablen wie „%password_history%“ anzeigen;
+------------------+--------+
| Variablenname | Wert |
+------------------+--------+
| Passwortverlauf | 0 |
+------------------+--------+
1 Zeile im Satz (0,00 Sek.)

mysql> globales Passwortprotokoll auf 2 festlegen;
Abfrage OK, 0 Zeilen betroffen (0,00 Sek.)

-- Erste Änderung, erfolgreicher MySQL-> Benutzer yeyz@'127.0.0.1' ändern, identifiziert mit 'mysql_native_password' von 'yeyz';
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

- Zweite Änderung, Fehler gemeldetmysql> Benutzer yeyz@'127.0.0.1' ändern, identifiziert mit 'mysql_native_password' von 'yeyz';
FEHLER 3638 (HY000): Diese Anmeldeinformationen können nicht für „[email protected]“ verwendet werden, da sie der Kennwortverlaufsrichtlinie widersprechen.
MySQL>

Wie Sie sehen, ist der Parameter password_history zu Beginn auf 0 gesetzt. Wir ändern ihn auf 2, was bedeutet, dass das vorherige Passwort erst wiederholt werden kann, nachdem die Aktion zum Festlegen des Passworts zweimal ausgeführt wurde. Das heißt, das diesmal geänderte Passwort darf nicht mit dem vorherigen Passwort identisch sein. Dann begann ich, das Passwort in dasselbe Passwort wie „yeyz“ zu ändern. Beim ersten Mal war es erfolgreich. Als ich das Passwort zum zweiten Mal einstellte, erhielt ich eine Fehlermeldung.

Diese Methode dient dazu, die Anzahl der gültigen Passwörter über Systemvariablen festzulegen.

4. Legen Sie die Zeit und das Intervall für die Wiederverwendung eines einzelnen Passworts fest

- Legen Sie das Kennwort so fest, dass es alle 5 Mal wiederverwendet wird. mysql> Benutzer yeyz3@'127.0.0.1' erstellen, identifiziert mit 'mysql_native_password' durch 'yeyz3' Kennwortverlauf 5;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

- Legen Sie das Kennwort so fest, dass es alle 5 Tage wiederverwendet wird. mysql> Erstellen Sie den Benutzer yeyz4@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz4'. Kennwortwiederverwendungsintervall 5 Tage; 
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

- Legen Sie das Kennwort so fest, dass es alle 5 Tage oder alle 5 Mal wiederverwendet wird, je nachdem, was strenger ist. mysql> Erstellen Sie einen Benutzer yeyz5@'127.0.0.1', identifiziert mit 'mysql_native_password' durch 'yeyz5'. Kennwortwiederverwendungsintervall 5 Tage. Kennwortverlauf 5;
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

- Verwenden Sie die standardmäßige globale Kennwortwiederverwendungsrichtlinie, d. h. die Parameter „Kennwortverlauf“ und „Kennwortwiederverwendungsintervall“ mysql> Benutzer yeyz6@‘127.0.0.1‘ erstellen, identifiziert mit „mysql_native_password“ durch „yeyz6“, Kennwortwiederverwendungsintervall Standardkennwortverlauf Standard; 
Abfrage OK, 0 Zeilen betroffen (0,01 Sek.)

Oben finden Sie eine ausführliche Erläuterung der MySQL 8.0-Passwortablaufrichtlinie. Weitere Informationen zur MySQL 8.0-Passwortablaufrichtlinie finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Einführung in einige Vorgänge zur sicheren MySQL-Passworteingabe
  • So ändern Sie das sichere Verarbeitungskennwort in MySQL 5.6
  • Schnelle Lösung zum Vergessen des MySQL8-Passworts
  • So rufen Sie das Kennwort für MySQL 8.0.22 auf dem Mac ab
  • So ändern Sie das Passwort des Root-Benutzers in MySQL
  • MySQL implementiert eine Beispielmethode zum Anmelden ohne Kennwort
  • So setzen Sie das Root-Passwort in Linux mysql-5.6 zurück
  • So fahren Sie MySQL sicher herunter
  • So beenden Sie den MySQL-Prozess ordnungsgemäß und sicher
  • Es ist Jahresende, ist Ihr MySQL-Passwort sicher?

<<:  Der Prozess der Installation und Konfiguration von Nginx in Win10

>>:  Vue+Element - benutzerdefinierte Abfragekomponente

Artikel empfehlen

Sammlung von 25 Schriftarten, die in berühmten Website-Logos verwendet werden

In diesem Artikel sind die Schriftarten zusammeng...

Tutorial zur Installation und Kennwortkonfiguration von MySQL 5.7.21

Tutorial zur Installation und Kennworteinstellung...

Analyse und Anwendung des Wasserfallflussprinzips unregelmäßiger Bilder

Das im Projekt aufgetretene Layoutproblem unregel...

Docker verwendet Supervisor zur Verwaltung von Prozessvorgängen

Ein Docker-Container startet beim Start beispiels...

MySQL-Batch entfernt Leerzeichen in einem bestimmten Feld

Gibt es in MySQL eine Möglichkeit, Leerzeichen st...

Kennen Sie den Unterschied zwischen leerem Wert und Nullwert in MySQL

Vorwort Kürzlich habe ich festgestellt, dass die ...

Ein Bugfix für Tomcats automatisches Herunterfahren

Vorwort Bei einem seit 4 Jahren laufenden Java EE...

Implementierung der Leistungsoptimierung des Element-Shuttle-Frames

Inhaltsverzeichnis Hintergrund Lösung Neue Fragen...

Aufbauprinzip des Nexus-Privatservers und Tutorial-Analyse

eins. Warum einen privaten Nexus-Server erstellen...

Detaillierte Erklärung zur Interpretation der Nginx-Konfigurationsdatei

Die Nginx-Konfigurationsdatei ist hauptsächlich i...

Implementierung der Installation und Deinstallation von CUDA und CUDNN in Ubuntu

Inhaltsverzeichnis Vorwort Installieren des Grafi...

Warum MySQL die Verwendung von Nullspalten mit Standardwerten nicht empfiehlt

Die Antwort, die Sie oft hören, ist, dass die Ver...

Detaillierte Erklärung des Plattformbusses des Linux-Treibers

Inhaltsverzeichnis 1. Einführung in den Plattform...