Il semble que j'ai chargé par inadvertance le plugin de validation de mot de passe dans MySQL 5.7. Ce plugin semble forcer tous les mots de passe à se conformer à certaines règles.
Je voudrais désactiver cette option.
J'ai essayé de changer la variable validate_password_length comme suggéré ici en vain.
mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Je voudrais soit décharger le plugin, soit le stériliser d'une manière ou d'une autre.
SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password.policy=LOW;
Réponses:
Voici ce que je fais pour supprimer le plugin de validation du mot de passe:
mysql -h localhost -u root -p
uninstall plugin validate_password;
UNINSTALL COMPONENT 'file://component_validate_password';
la source
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
grep 'password' /var/log/mysqld.log | tail -1
et ensuite/usr/bin/mysql_secure_installation
. Après cela, vous pouvez exécuter les commandes de srayhunter ci-dessus, puis exécutermysqladmin -u root -p'oldpassword' password newpass
pour utiliser le mot de passe que vous souhaitez.cracklib_password_check
dans la MariaDB actuelle.UNINSTALL COMPONENT 'file://component_validate_password';
mysql> SET GLOBAL validate_password_policy = 0;
J'utilise MySQL v 8.0.12 et la commande pour désactiver le composant de validation de mot de passe est:
Pour le réinstaller, la commande est:
Si vous souhaitez simplement modifier la politique du plugin de validation de mot de passe:
la source
En vous basant sur la réponse de Sharfi, éditez le fichier /etc/my.cnf et ajoutez juste cette ligne:
Cela devrait suffisamment neutraliser la validation comme demandé par l'OP. Vous voudrez probablement redémarrer mysqld après ce changement. En fonction de votre système d'exploitation, cela ressemblerait à quelque chose comme:
validate_password_policy prend les valeurs 0, 1 ou 2 ou les mots LOW, MEDIUM et STRONG qui correspondent à ces nombres. La valeur par défaut est MEDIUM (1) qui exige que les mots de passe contiennent au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial, et que la longueur totale du mot de passe soit d'au moins 8 caractères. Le passage à LOW comme je le suggère ici ne vérifiera que la longueur, qui, si elle n'a pas été modifiée par d'autres paramètres, vérifiera une longueur de 8. Si vous souhaitez également raccourcir cette limite de longueur, vous pouvez également ajouter validate_password_length à le fichier my.cnf.
Pour plus d'informations sur les niveaux et les détails, consultez la doc mysql .
Pour MySQL 8, la propriété est passée de "validate_password_policy" à "validate_password.policy". Voir la documentation mysql mise à jour pour les dernières informations.
la source
SET GLOBAL validate_password_policy=LOW;
Pour désactiver les vérifications de mot de passe dans mariadb-10.1.24 (Fedora 24), j'ai dû commenter une ligne dans le fichier /etc/my.cnf.d/cracklib_password_check.cnf :
puis redémarrez le service mariadb:
la source
Vous pouvez configurer cela dans le fichier de configuration mysql open
/etc/my.cnf
file Dans ce fichier toutes les lignes qui configurent la politique de mot de passe font celles commentées commeDécommentez et modifiez la valeur des propriétés que vous souhaitez modifier.
la source
Si vous souhaitez faire des exceptions, vous pouvez appliquer le "hack" suivant. Il nécessite un utilisateur avec
DELETE
etINSERT
privilège pour lamysql.plugin
table système.Clause de non-responsabilité en matière de sécurité: réfléchissez aux raisons pour lesquelles vous raccourcissez ou simplifiez votre mot de passe et envisagez peut-être de le remplacer par un autre plus complexe. Cependant, je comprends les moments "il est 3 heures du matin et il faut juste travailler", assurez-vous simplement de ne pas créer un système de hacks, de peur que vous ne soyez vous-même piraté
la source
Suite à la réponse de ktbos:
J'ai modifié le fichier mysqld.cnf et mysql n'a pas pu démarrer. Il s'est avéré que je modifiais le mauvais fichier!
Assurez-vous donc que le fichier que vous modifiez contient des balises de segment comme [mysqld_safe] et [mysqld]. Sous ce dernier, j'ai fait comme suggéré et ajouté la ligne:
Cela a parfaitement fonctionné pour résoudre mon problème de ne pas exiger de caractères spéciaux dans le mot de passe.
la source
Désinstaller:
Un plugin désinstallé n'est pas affiché par
show plugins;
Installer:
Désactivé par configuration:
Un plugin peut être désactivé par configuration uniquement s'il est installé.
la source
J'avais un problème sur Ubuntu 18.04 sur Mysql. Lorsque j'avais besoin de créer un nouvel utilisateur, la politique était toujours élevée.
La façon dont j'ai compris comment désactiver, pour les futurs collègues qui viennent enquêter, a été réglée à faible.
Connectez-vous au serveur mysql en tant que root
Définir le nouveau type de validation
Redémarrez mysql
la source
Sur certaines installations, vous ne pouvez pas exécuter cette commande tant que vous n'avez pas réinitialisé le mot de passe root. Vous ne pouvez pas réinitialiser le mot de passe root tant que vous n’exécutez pas cette commande. Classique Catch-22.
Une solution non mentionnée par les autres répondeurs est de désactiver temporairement le plugin via la configuration mysql. Dans tout
my.cnf
, dans la[mysqld]
section, ajoutez:et redémarrez le serveur. Modifiez le mot de passe, redéfinissez la valeur sur 0, puis redémarrez.
la source
Pour les références et le futur, il faut lire la doc ici https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-password-validation.html
Ensuite, vous devez éditer votre
mysqld.cnf
fichier, par exemple:Ensuite, ajoutez dans la partie [mysqld], ce qui suit:
Fondamentalement, si vous modifiez votre valeur par défaut, cela ressemblera à:
Ensuite, vous pouvez redémarrer:
Si vous oubliez la
plugin-load-add=validate_password.so
pièce, vous ferez une erreur au redémarrage.Prendre plaisir !
la source
Pour mysql 8.0.7, allez dans votre répertoire mysql, puis utilisez:
pour configurer l'option de mot de passe.
la source
pas besoin d'arrêter / démarrer mysql
la source