94 lines
3.9 KiB
Plaintext
94 lines
3.9 KiB
Plaintext
INSTALL COMPONENT "file://component_validate_password";
|
|
SELECT @@global.validate_password.check_user_name;
|
|
@@global.validate_password.check_user_name
|
|
1
|
|
# Should fail: not a session variable
|
|
SET @@session.validate_password.check_user_name= ON;
|
|
ERROR HY000: Variable 'validate_password.check_user_name' is a GLOBAL variable and should be set with SET GLOBAL
|
|
# Should fail: not a session variable
|
|
SET validate_password.check_user_name= ON;
|
|
ERROR HY000: Variable 'validate_password.check_user_name' is a GLOBAL variable and should be set with SET GLOBAL
|
|
SET @@global.validate_password.policy=LOW;
|
|
SET @@global.validate_password.mixed_case_count=0;
|
|
SET @@global.validate_password.number_count=0;
|
|
SET @@global.validate_password.special_char_count=0;
|
|
SET @@global.validate_password.length=0;
|
|
SET @@global.validate_password.check_user_name= ON;
|
|
# Must pass: password the same as the the user name, but run by root
|
|
CREATE USER "base_user"@localhost IDENTIFIED BY 'base_user';
|
|
GRANT ALL PRIVILEGES ON test.* TO "base_user"@localhost;
|
|
# Must pass: password the same as the user name, but run by root
|
|
SET PASSWORD FOR "base_user"@localhost = 'base_user';
|
|
# Must pass: password the same as the user name, but run by root
|
|
ALTER USER "base_user"@localhost IDENTIFIED BY 'base_user';
|
|
# Must fail: password is root
|
|
CREATE USER foo@localhost IDENTIFIED BY 'root';
|
|
ERROR HY000: Your password does not satisfy the current policy requirements
|
|
# Must return 0 : same as the user name
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('root') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('root') = 0
|
|
1
|
|
# Must return 0 : same as the user name
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('toor') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('toor') = 0
|
|
1
|
|
# Must return non-0: upper case in user name
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('Root') <> 0;
|
|
VALIDATE_PASSWORD_STRENGTH('Root') <> 0
|
|
1
|
|
# Must return non-0: upper case in reverse user name
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('Toor') <> 0;
|
|
VALIDATE_PASSWORD_STRENGTH('Toor') <> 0
|
|
1
|
|
# Must return non-0: different name
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('fooHoHo%1') <> 0;
|
|
VALIDATE_PASSWORD_STRENGTH('fooHoHo%1') <> 0
|
|
1
|
|
# connect as base_user
|
|
# Should fail: password the same as the user name
|
|
SET PASSWORD='base_user';
|
|
ERROR HY000: Your password does not satisfy the current policy requirements
|
|
# Should pass: uppercase in U
|
|
SET PASSWORD='base_User';
|
|
# Should fail: password the same as the login user name
|
|
ALTER USER "base_user"@localhost IDENTIFIED BY 'base_user';
|
|
ERROR HY000: Your password does not satisfy the current policy requirements
|
|
# Must be 0: user name matches the password
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('base_user') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('base_user') = 0
|
|
1
|
|
# Must be 0: reverse of user name matches the password
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('resu_esab') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('resu_esab') = 0
|
|
1
|
|
# Must pass: empty password is ok
|
|
SET PASSWORD='';
|
|
# back to default connection
|
|
REVOKE ALL PRIVILEGES ON test.* FROM "base_user"@localhost;
|
|
DROP USER "base_user"@localhost;
|
|
# test effective user name
|
|
CREATE USER ""@localhost;
|
|
GRANT ALL PRIVILEGES ON test.* TO ""@localhost;
|
|
# connect as the login_user
|
|
SELECT USER(),CURRENT_USER();
|
|
USER() CURRENT_USER()
|
|
login_user@localhost @localhost
|
|
# Should return 0: login user id matches
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('login_user') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('login_user') = 0
|
|
1
|
|
# Should return 0: reverse login user id matches
|
|
SELECT VALIDATE_PASSWORD_STRENGTH('resu_nigol') = 0;
|
|
VALIDATE_PASSWORD_STRENGTH('resu_nigol') = 0
|
|
1
|
|
# back to default connection
|
|
REVOKE ALL PRIVILEGES ON test.* FROM ""@localhost;
|
|
DROP USER ""@localhost;
|
|
SET @@global.validate_password.policy=default;
|
|
SET @@global.validate_password.length=default;
|
|
SET @@global.validate_password.mixed_case_count=default;
|
|
SET @@global.validate_password.number_count=default;
|
|
SET @@global.validate_password.special_char_count=default;
|
|
SET @@global.validate_password.check_user_name= default;
|
|
UNINSTALL COMPONENT "file://component_validate_password";
|