MySQL

MySQL でユーザに設定するパスワードのセキュリティレベルを下げる

何かのサービスにユーザを追加する際、作業効率などを考えて、単純なパスワードをつけることはよくあると思います。MySQL で単純なパスワードを設定しようとしたとき、

mysql> create user 'user'@'%' identified by 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

パスワードがポリシーを満たしていない、と怒られます。そこで怒らないようにするため、ポリシーを緩くします。現状のポリシーは、

mysql> show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password_check_user_name    | OFF    |
| validate_password_dictionary_file    |        |
| validate_password_length             | 8      |
| validate_password_mixed_case_count   | 1      |
| validate_password_number_count       | 1      |
| validate_password_policy             | MEDIUM |
| validate_password_special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.00 sec)

で確認でき、policy が MEDIUM になっています。これを

mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

で LOW に変えます。

mysql> show variables like 'validate_password%';
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password_check_user_name    | OFF   |
| validate_password_dictionary_file    |       |
| validate_password_length             | 8     |
| validate_password_mixed_case_count   | 1     |
| validate_password_number_count       | 1     |
| validate_password_policy             | LOW   |
| validate_password_special_char_count | 1     |
+--------------------------------------+-------+
7 rows in set (0.01 sec)

LOW に正しく変わっており、

mysql> create user 'user'@'%' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

問題なく追加できました。ちなみに各ポリシーは、

ポリシー チェックされること
LOW 長さ
MEDIUM 長さ、大文字・小文字、記号
STRONG 長さ、大文字・小文字、記号、辞書

­となっています。

-MySQL
-

© 2021 yshystsj.com Powered by AFFINGER5