MySQLでユーザを追加しようとしたらYour password does not satisfy the current policy requirementsメッセージが表示された

MySQLでユーザを追加しようとしたら「Your password does not satisfy the current policy requirements」メッセージが表示された。
訳すと「あなたのパスワードは現在の必要要件を満たさない」ということか。
既存のシステムで使っているパスワードを変更することはできなかったのでパスワードの必要要件や変更方法を探してみる。

現在のパスワードの必要要件はどうやって調べればよいのか?
validate-password-puginがあって、そこにはこう書かれている。

LOW policy tests password length only. Passwords must be at least 8 characters long.

MEDIUM policy adds the conditions that passwords must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, and 1 special (nonalphanumeric) character.

STRONG policy adds the condition that password substrings of length 4 or longer must not match words in the dictionary file, if one has been specified.

validate_password_policyにはLOW、MEDIUM、STRONGの設定がありLOWが一番やさしい、STRONGが一番きびしい要件になっている。デフォルト値はMEDIUM。

LOWは最低8文字あればパスワードとして許容される。
MEDIUMは数字、大文字英字、小文字英字、記号が最低でも1文字ずつ入っている。かつ、最低8文字以上。
例としては「1Coffee!」はOK。「1Water!」は7文字なのでNG。

LOWに変えてみる。
変えたあとの内容を確認するとLOWになっていることがわかる。

SET GLOBAL validate_password_policy=LOW;
SHOW VARIABLES LIKE 'validate_password%';
# +--------------------------------------+-------+
# | Variable_name                        | Value |
# +--------------------------------------+-------+
# | validate_password_policy             | LOW   |

LOWにしてからユーザを登録すると「a」が8つはユーザ登録ができて「a」が7つはユーザ登録できなかった。

MySQL5.7で確認。

コメント

タイトルとURLをコピーしました