Exemples d'utilisateurs MySQL et autorisations et méthodes pour casser le mot de passe root_Mysql

2020-02-14

Utilisateurs et autorisations MySQL

Dans MySQL, il existe une base de données fournie par le système lui-même, appelée MySQL. Une fois la base de données installée, le système est fourni avec plusieurs bases de données. MySQL en fait partie. Il y a des utilisateurs créés.

Le nom d'utilisateur complet dans MySQL est formé par utilisateur + nom d'hôte. Le nom d'hôte détermine l'hôte sur lequel cet utilisateur peut se connecter.

I. Création d'utilisateur et modification du mot de passe

1. Création d'utilisateurs


 créer l'utilisateur 'USERNAME' @ 'HOST' identifié par 'PASSWORD'; 
 

USERNAME: nom d'utilisateur
HÔTE: adresse de l'hôte
MOT DE PASSE: mot de passe

Exemple:


 MariaDB [(aucun)]> créer l'utilisateur masuri@192.168.73.133 identifié par 'centos';
 Requête OK, 0 lignes affectées (0,01 sec)

 MariaDB [(aucun)]> sélectionnez l'utilisateur, l'hôte et le mot de passe dans mysql.user;
 + -------- + ----------------------- + ----------------  --------------------------- +
 | utilisateur | hôte | mot de passe |
 + -------- + ----------------------- + ----------------  --------------------------- +
 | racine | localhost | |
 | root | localhost.localdomain | |
 | racine | 127.0.0.1 | |
 | racine | :: 1 | |
 | | localhost | |
 | | localhost.localdomain | |
 | masuri | 192.168.73.133 | * 128977E278358FF80A246B5046F51043A2B1FCED |
 + -------- + ----------------------- + ----------------  --------------------------- +
 7 lignes en jeu (0,00 sec)
 
 

Des comptes anonymes existent dans MySQL. Vous pouvez les supprimer en exécutant le script de renforcement de la sécurité mysql_secure_installation, ou les supprimer manuellement.

Supprimer l'utilisateur:


 DROP USER 'USERNAME' @ 'HOST'; 
 

Exemple:


 MariaDB [(aucun)]> sélectionnez l'utilisateur, l'hôte et le mot de passe dans mysql.user;
 + -------- + ----------------------- + ----------------  --------------------------- +
 | utilisateur | hôte | mot de passe |
 + -------- + ----------------------- + ----------------  --------------------------- +
 | racine | localhost | |
 | root | localhost.localdomain | |
 | racine | 127.0.0.1 | |
 | racine | :: 1 | |
 | | localhost | |
 | | localhost.localdomain | |
 | masuri | 192.168.73.133 | * 128977E278358FF80A246B5046F51043A2B1FCED |
 + -------- + ----------------------- + ----------------  --------------------------- +
 7 lignes en jeu (0,00 sec)

 MariaDB [(aucun)]> DROP USER '' @ 'localhost';
 Requête OK, 0 lignes affectées (0,00 sec)

 MariaDB [(aucun)]> DROP USER '' @ 'localhost.localdomain';
 Requête OK, 0 lignes affectées (0,00 sec)

 MariaDB [(aucun)]> sélectionnez l'utilisateur, l'hôte et le mot de passe dans mysql.user;
 + -------- + ----------------------- + ----------------  --------------------------- +
 | utilisateur | hôte | mot de passe |
 + -------- + ----------------------- + ----------------  --------------------------- +
 | racine | localhost | |
 | root | localhost.localdomain | |
 | racine | 127.0.0.1 | |
 | racine | :: 1 | |
 | masuri | 192.168.73.133 | * 128977E278358FF80A246B5046F51043A2B1FCED |
 + -------- + ----------------------- + ----------------  --------------------------- +
 5 lignes en jeu (0,00 sec)

 
 

2. Changement de mot de passe

Changement de mot de passe mysql


 SET PASSWORD FOR user = PASSWORD ('cleartext password')
 UPDATE table SET password = mot de passe ('cleartext password')
 
 

Exemple:

Modifier le mot de passe de l'utilisateur masuri


 MariaDB [(aucun)]> SET PASSWORD FOR masuri@192.168.73.133 = PASSWORD ('magedu');
 Requête OK, 0 lignes affectées (0,00 sec)

 MariaDB [(aucun)]> sélectionnez l'utilisateur, l'hôte et le mot de passe dans mysql.user;
 + -------- + ----------------------- + ----------------  --------------------------- +
 | utilisateur | hôte | mot de passe |
 + -------- + ----------------------- + ----------------  --------------------------- +
 | racine | localhost | |
 | root | localhost.localdomain | |
 | racine | 127.0.0.1 | |
 | racine | :: 1 | |
 | masuri | 192.168.73.133 | * 6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
 + -------- + ----------------------- + ----------------  --------------------------- +
 #Cette fois, le mot de passe a changé

 
 

Le mot de passe du compte root est vide. Définissez un mot de passe pour le mot de passe root. Les paramètres étant trop lourds, vous pouvez utiliser l'opération de modification de la table pour changer le mot de passe.


 MariaDB [(aucun)]> mettre à jour mysql.user set password = password ('centos') where user = 'root';
 Requête OK, 4 lignes affectées (0,01 sec)
 Lignes correspondantes: 4 Modifiées: 4 Avertissements: 0

 MariaDB [(aucun)]> sélectionnez l'utilisateur, l'hôte et le mot de passe dans mysql.user;
 + -------- + ----------------------- + ----------------  --------------------------- +
 | utilisateur | hôte | mot de passe |
 + -------- + ----------------------- + ----------------  --------------------------- +
 | racine | localhost | * 128977E278358FF80A246B5046F51043A2B1FCED |
 | racine | localhost.localdomain | * 128977E278358FF80A246B5046F51043A2B1FCED |
 | racine | 127.0.0.1 | * 128977E278358FF80A246B5046F51043A2B1FCED |
 | racine | :: 1 | * 128977E278358FF80A246B5046F51043A2B1FCED |
 | masuri | 192.168.73.133 | * 6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
 + -------- + ----------------------- + ----------------  --------------------------- +
 5 lignes en jeu (0,00 sec)

 
 

Pour le moment, le mot de passe a été modifié mais vous ne pouvez toujours pas vous connecter. Vous devez actualiser les autorisations.


 MariaDB [(aucun)]> RINCER LES PRIVILÈGES;
 Requête OK, 0 lignes affectées (0,00 sec)
 
 

Deuxièmement, la gestion des autorisations MySQL

La gestion des droits implique plusieurs catégories de droits, tels que les niveaux de gestion, de programme, de base de données, de table et de champ

Gestion: peut créer des utilisateurs, peut afficher la liste des bases de données, peut recharger le fichier de configuration, peut fermer la base de données, peut s'exécuter en rapport avec la réplication, peut gérer le processus, peut créer une table temporaire, peut Créez un fichier dans la base de données.

La classe de programme implique principalement 3 programmes, fonctions, procédures stockées et déclencheurs, tels que la possibilité de créer, modifier, supprimer et exécuter ces autorisations au niveau de la bibliothèque, de la table et du champ: par exemple, si elle peut être effectuée dans la bibliothèque ou la table Ajouter, supprimer, vérifier, modifier, etc.

1. Autorisez GRANT

Si l'utilisateur n'existe pas lorsque vous l'autorisez, vous pouvez le créer. Avant de l'autoriser, vous devez d'abord confirmer que vous êtes un administrateur disposant de droits d'autorisation.


 SUBVENTION
  priv_type [(colonne_liste)]
   [, priv_type [(column_list)]] ...
  ON [object_type] priv_level
  TO user_specification [, user_specification] ...
  [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
  [AVEC avec_option ...]
 
 

Exemple:

Créez un utilisateur wordpress et autorisez-le.


 MariaDB [(aucun)]> CREATE DATABASE wordpress;
 Requête OK, 1 ligne affectée (0,02 sec)

 MariaDB [(aucun)]> GRANT ALL ON wordpress. * TO wpuser@'192.168.73.% 'identifié par' mylinuxops ';
 Requête OK, 0 lignes affectées (0,00 sec)

 
 

2. Afficher les autorisations des utilisateurs


 MariaDB [(aucun)]> afficher les subventions pour wpuser@'192.168.73.% ';
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 | Subventions pour wpuser@192.168.73.% |
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 DONNER L'UTILISATION SUR *. * À 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '* EC0DBFB480593BB6ED2EC028A4231A72D8137406' | |
 ACCORDER TOUS LES PRIVILÈGES SUR `wordpress`. * À 'wpuser'@'192.168.73.%' |
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 2 rangées en jeu (0,00 sec)
 
 

3. Autres options d'autorisation


 MAX_QUESRIES_PER_HOUR count # combien de fois par heure
 MAX_UPDATES_PER_HOUR count # combien de fois par heure
 MAX_CONNECTIONS_PER_HOUR count #Combien de fois par heure
 MAX_USER_CONNECTIONS compte #Nombre maximum d'utilisateurs connectés 
 

Annuler les autorisations


 REVOKE
  priv_type [(colonne_liste)]
   [, priv_type [(column_list)]] ...
  ON [object_type] priv_level
  DE l'utilisateur [, utilisateur] ...
 
 

Exemple:


 MariaDB [(aucun)]> révoquer la suppression sur wordpress. * From wpuser@'192.168.73.% ';
 Requête OK, 0 lignes affectées (0,00 sec)

 MariaDB [(aucun)]> afficher les subventions pour wpuser@'192.168.73.% ';
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 | Subventions pour wpuser@192.168.73.% |
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 DONNER L'UTILISATION SUR *. * À 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '* EC0DBFB480593BB6ED2EC028A4231A72D8137406' | |
 | GRANT SELECT, INSERT, UPDATE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `wordpress`. * À '  wpuser'@'192.168.73.% '|
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 2 rangées en jeu (0,00 sec)
 # À ce stade, wpuser@'192.168.73.% 'n'a pas d'autorisation de suppression

 
 

Cryptage du mot de passe racine MySQL

Parfois, vous pouvez rencontrer la perte du mot de passe root dans votre travail. À ce stade, vous pouvez récupérer le mot de passe root par les méthodes suivantes.

Ce qui suit est un exemple de la façon de casser le mot de passe root.

Je ne peux pas me connecter à MySQL avec un mot de passe inconnu


 [root @ localhost ~] # mysqltifié par «mylinuxops»;
 Requête OK, 0 lignes affectées (0,00 sec)

 
 

2. Afficher les autorisations des utilisateurs


 MariaDB [(aucun)]> afficher les subventions pour wpuser@'192.168.73.% ';
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 | Subventions pour wpuser@192.168.73.% |
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 DONNER L'UTILISATION SUR *. * À 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '* EC0DBFB480593BB6ED2EC028A4231A72D8137406' | |
 ACCORDER TOUS LES PRIVILÈGES SUR `wordpress`. * À 'wpuser'@'192.168.73.%' |
 + -------------------------------------------------  --------------------------------------------------  --------------- +
 2 rangées en jeu (0,00 sec)
 
 

3. Autres options d'autorisation


 MAX_QUESRIES_PER_HOUR count # combien de fois par heure
 MAX_UPDATES_PER_HOUR count # combien de fois par heure
 MAX_CONNECTIONS_PER_HOUR count #Combien de fois par heure
 MAX_USER_CONNECTIONS compte #Nombre maximum d'utilisateurs connectés 
 

Annuler les autorisations


 REVOKE
  priv_type [(colonne_liste)]
   [, priv_type [(column_list)]] ...
  ON [object_type] priv_level
  DE l'utilisateur [, utilisateur] ...
 
 

Exemple:


 MariaDB [(aucun)]> révoquer la suppression sur wordpress. * From wpuser@'192.168.73.% ';
 Requête OK, 0 lignes affectées (0,00 sec)

 MariaDB [(aucun)]> afficher les subventions pour wpuser@'192.168.73.% ';
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 | Subventions pour wpuser@192.168.73.% |
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 DONNER L'UTILISATION SUR *. * À 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '* EC0DBFB480593BB6ED2EC028A4231A72D8137406' | |
 | GRANT SELECT, INSERT, UPDATE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `wordpress`. * À '  wpuser'@'192.168.73.% '|
 + -------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------------------------  --------------------------------- +
 2 rangées en jeu (0,00 sec)
 # À ce stade, wpuser@'192.168.73.% 'n'a pas d'autorisation de suppression

 
 

Cryptage du mot de passe racine MySQL

Parfois, vous pouvez rencontrer la perte du mot de passe root dans votre travail. À ce stade, vous pouvez récupérer le mot de passe root par les méthodes suivantes.

Ce qui suit est un exemple de la façon de casser le mot de passe root.

Je ne peux pas me connecter à MySQL avec un mot de passe inconnu


 [root @ localhost ~] # mysql
 ERREUR 1045 (28000): accès refusé à l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NO)
 
 

Deuxièmement, fissurez

1. Modifiez le fichier de configuration /etc/my.cnf, ajoutez deux lignes de paramètres

skip_grant_tables: ignorer les informations de la table de droits. Après avoir utilisé cet élément, vous pouvez réutiliser MySQL sans utiliser de mot de passe, mais d'autres utilisateurs distants peuvent également se connecter sans mot de passe. Il existe un certain risque.

skip_networking: désactivez la fonction réseau. L'option skip_grant_tables étant activée, il est très dangereux pour les autres utilisateurs de se connecter à MySQL sans mot de passe. Par conséquent, vous devez désactiver la fonction réseau pour n'autoriser que les utilisateurs locaux.


 [root @ localhost ~] # vim /etc/my.cnf
 [mysqld]
 skip_networking = on #Ne pas activer la mise en réseau
 skip_grant_tables = sur les tables d'octroi #Skip

 [root @ localhost ~] # service mysqld restart #Need pour redémarrer le service après avoir modifié le fichier d'emplacement
 Redémarrage de mysqld (via systemctl): [OK]
 
 

2. Connectez-vous à MySQL et changez le mot de passe


 [root @ localhost ~] # mysql #Vous pouvez vous connecter sans entrer de mot de passe
 Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \ g.
 Votre identifiant de connexion MariaDB est 11
 Version du serveur: 10.2.23-MariaDB-log Source distribution

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

 Tapez «help» ou «\ h» pour obtenir de l'aide. Tapez «\ c» pour effacer l'instruction d'entrée actuelle.

 MariaDB [(aucun)]> MISE À JOUR mysql.user SET password = PASSWORD ('123456') where user = 'root';
 Requête OK, 4 lignes affectées (0,01 sec)
 Lignes correspondantes: 4 Modifiées: 4 Avertissements: 0

 
 

3. Après avoir changé le mot de passe, vous devez restaurer le fichier de configuration

Déconnectez-vous ou supprimez les deux options que vous venez d'activer, puis redémarrez le service


 [root @ localhost ~] # vim /etc/my.cnf
 [mysqld]
 # skip_networking = on
 # skip_grant_tables = on

 [root @ localhost ~] # service mysqld restart
 Redémarrage de mysqld (via systemctl): [OK]

 
 

4. Connectez-vous à MySQL avec un nouveau mot de passe


 [root @ localhost ~] # mysql -uroot -p123456
 Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \ g.
 Votre identifiant de connexion MariaDB est 10
 Version du serveur: 10.2.23-MariaDB-log Source distribution

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

 Tapez «help» ou «\ h» pour obtenir de l'aide. Tapez «\ c» pour effacer l'instruction d'entrée actuelle.

 MariaDB [(aucun)]>

 
 

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun et j'espère que tout le monde le soutiendra.

ERREUR 1045 (28000): accès refusé à l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NO)

Deuxièmement, fissurez

1. Modifiez le fichier de configuration /etc/my.cnf, ajoutez deux lignes de paramètres

skip_grant_tables: ignorer les informations de la table de droits. Après avoir utilisé cet élément, vous pouvez réutiliser MySQL sans utiliser de mot de passe, mais d'autres utilisateurs distants peuvent également se connecter sans mot de passe. Il existe un certain risque.

skip_networking: désactivez la fonction réseau. L'option skip_grant_tables étant activée, il est très dangereux pour les autres utilisateurs de se connecter à MySQL sans mot de passe. Par conséquent, vous devez désactiver la fonction réseau pour n'autoriser que les utilisateurs locaux.


 [root @ localhost ~] # vim /etc/my.cnf
 [mysqld]
 skip_networking = on #Ne pas activer la mise en réseau
 skip_grant_tables = sur les tables d'octroi #Skip

 [root @ localhost ~] # service mysqld restart #Need pour redémarrer le service après avoir modifié le fichier d'emplacement
 Redémarrage de mysqld (via systemctl): [OK]
 
 

2. Connectez-vous à MySQL et changez le mot de passe


 [root @ localhost ~] # mysql #Vous pouvez vous connecter sans entrer de mot de passe
 Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \ g.
 Votre identifiant de connexion MariaDB est 11
 Version du serveur: 10.2.23-MariaDB-log Source distribution

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

 Tapez «help» ou «\ h» pour obtenir de l'aide. Tapez «\ c» pour effacer l'instruction d'entrée actuelle.

 MariaDB [(aucun)]> MISE À JOUR mysql.user SET password = PASSWORD ('123456') where user = 'root';
 Requête OK, 4 lignes affectées (0,01 sec)
 Lignes correspondantes: 4 Modifiées: 4 Avertissements: 0

 
 

3. Après avoir changé le mot de passe, vous devez restaurer le fichier de configuration

Déconnectez-vous ou supprimez les deux options que vous venez d'activer, puis redémarrez le service


 [root @ localhost ~] # vim /etc/my.cnf
 [mysqld]
 # skip_networking = on
 # skip_grant_tables = on

 [root @ localhost ~] # service mysqld restart
 Redémarrage de mysqld (via systemctl): [OK]

 
 

4. Connectez-vous à MySQL avec un nouveau mot de passe


 [root @ localhost ~] # mysql -uroot -p123456
 Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \ g.
 Votre identifiant de connexion MariaDB est 10
 Version du serveur: 10.2.23-MariaDB-log Source distribution

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

 Tapez «help» ou «\ h» pour obtenir de l'aide. Tapez «\ c» pour effacer l'instruction d'entrée actuelle.

 MariaDB [(aucun)]>

 
 

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun et j'espère que tout le monde le soutiendra.

écoutez l'instruction d'entrée actuelle. MariaDB [(aucun)]> MISE À JOUR mysql.user SET password = PASSWORD ('123456') where user = 'root'; Requête OK, 4 lignes affectées (0,01 sec) Lignes correspondantes: 4 Modifiées: 4 Avertissements: 0

3. Après avoir changé le mot de passe, vous devez restaurer le fichier de configuration

Déconnectez-vous ou supprimez les deux options que vous venez d'activer, puis redémarrez le service


 [root @ localhost ~] # vim /etc/my.cnf
 [mysqld]
 # skip_networking = on
 # skip_grant_tables = on

 [root @ localhost ~] # service mysqld restart
 Redémarrage de mysqld (via systemctl): [OK]

 
 

4. Connectez-vous à MySQL avec un nouveau mot de passe


 [root @ localhost ~] # mysql -uroot -p123456
 Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \ g.
 Votre identifiant de connexion MariaDB est 10
 Version du serveur: 10.2.23-MariaDB-log Source distribution

 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

 Tapez «help» ou «\ h» pour obtenir de l'aide. Tapez «\ c» pour effacer l'instruction d'entrée actuelle.

 MariaDB [(aucun)]>

 
 

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun et j'espère que tout le monde le soutiendra.

www.xd1998.com@2001-2030Partage De Technologie