從創建用戶說起:
如我們在mysql中可以用grant all on *.* to userd@'localhost' identified by '123'; 來創建一個userd用戶,雖然用戶是創建成功了,但是這個用戶的密碼強度
太低了非常容易被破解;為了把問題解決在搖籃里,最好是在創建用戶時就驗證密碼強度,如果強度達不到要求就不允許創建。為了達到這個目地validate_password
插件應運而生。
安裝validate_password插件:
install plugin valaidte_password soname 'validate_password.so';
用於控制validate_password行為系統參數:
這些參數是要安裝好validate_password 插件后才能通過show variables like 'validate_password%';看到。
001、validate_password_policy 這個參數用於控制validate_password的驗證策略 0-->low 1-->MEDIUM 2-->strong。
002、validate_password_length密碼長度的最小值(這個值最小要是4)。
003、validate_password_number_count 密碼中數字的最小個數。
004、validate_password_mixed_case_count大小寫的最小個數。
005、validate_password_special_char_count 特殊字符的最小個數。
006、validate_password_dictionary_file 字典文件
各個參數是如何通過配合來完成用戶驗證的:
001、當validate_password_policy=0時 這個時候只對密碼長度做驗證,也就是說它和validate_password_length一起配合起來完成用戶驗證。
這種情況下只要密碼達到validate_password_length指定的長度后就行。
002、當valdiate_password_policy=1時 這個時候首先要滿足的是validate_password_policy=0時的驗證要求。然后現去驗證密碼中的
數字個數,大小寫個數,特殊字符個數。這些又分別由validate_password_number_count,validate_password_mixed_case_count,
validate_password_special_char_count 這幾個參數來控制。
003、validate_password_policy=2 這個時候它首先是要滿足前面說到的0、1 的要求;然后它還追加了一個,對於密碼中任意連續4個(或4個讓上)字符不
得是字典中的單詞。
