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で確認。
コメント