MySQL密碼強度審計插件:validate_password的使用說明

安裝MySQL5.6新建用戶並建立密碼時老是提示密碼不符合要求:ERROR 1819 (HY000): Your password does NOT satisfy the CURRENT policy requirements。

查看得知,原來MySQL5.6.6增長了密碼強度驗證插件validate_password,相關參數設置的較爲嚴格,因此……

使用了該插件會檢查設置的密碼是否符合當前設置的強度規則,若不知足則拒絕設置。影響的語句和函數有:create user,grant,set password,password(),old password。

密碼強度可由validate password strength()函數評估(返回0至100之間的數),如:html

MySQL>select VALIDATE_PASSWORD_STRENGTH('123456');
mysql>select VALIDATE_PASSWORD_STRENGTH('Password@123456 ');

注意,已經散列過的密碼不被驗證,如:
mysql> SET PASSWORD = PASSWORD('abc');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
 mysql

mysql> SET PASSWORD = '*0D3CED9BEC10A777AEC23CCC353A8C08A633045E';
Query OK, 0 rows affected (0.01 sec)

相關選項:sql

  • --validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT:決定是否使用該插件(及強制/永久強制使用)。
  • validate_password_dictionary_file:插件用於驗證密碼強度的字典文件路徑。
  • validate_password_length:密碼最小長度。
  • validate_password_mixed_case_count:密碼至少要包含的小寫字母個數和大寫字母個數。
  • validate_password_number_count:密碼至少要包含的數字個數。
  • validate_password_policy:密碼強度檢查等級,0/LOW、1/MEDIUM、2/STRONG。
  • validate_password_special_char_count:密碼至少要包含的特殊字符數。

其中關於validate_password_policy-密碼強度檢查等級:函數

  • 0/LOW:只檢查長度。
  • 1/MEDIUM:檢查長度、數字、大小寫、特殊字符。
  • 2/STRONG:檢查長度、數字、大小寫、特殊字符字典文件。

插件的安裝啓用:ui

  • 插件對應的庫對象文件需在配置選項plugin_dir指定的目錄中。
  • 可以使用--plugin-load=validate_password.so在server啓動時載入插件,或者將plugin-load=validate_password.so寫入配置文件。
  • 也能夠經過以下語句在server運行時載入插件(會註冊進mysql.plugins表)mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';

爲阻止該插件在運行時被刪除可在配置文件中添加:
[mysqld]
plugin-load=validate_password.so
validate-password=FORCE_PLUS_PERMANENT


具體參考:http://dev.mysql.com/doc/refman/5.6/en/validate-password-plugin.html.net

相關文章
相關標籤/搜索