未安装的话需要先装个软件,来管理密码强度
sudo apt install libpam-cracklib
1 修改旧密码的强度
$ sudo vi /etc/pam.d/common-password password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 remember=5 # 在对应行后边加上 remember=5,意思是5次之内的密码不能重复使用,5次之后才能设置之前用过的密码 # 在刚才那行上边新加一行 password requisite pam_cracklib.so retry=3 minlen=8 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 # 在对应行后后边添加一些参数, # retry=3 表示可以输错3次 (默认参数 3) # minlen 表示密码最短长度 (默认参数 8) # difok=3 表示最少不同的字符(没太直观理解,默认参数3) # ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 表示最少有一个大写字母,最少一个小写字母,最少一个数字,最少一个特殊字符2 修改密码过期期限,但是好像这个只对新开的账户起作用
$ sudo vi /etc/login.defs PASS_MAX_DAYS 360 # 一个密码的最长使用时间 PASS_MIN_DAYS 0 # 一个密码的最短使用时间,也就是两次密码之间的时间间隔多久 PASS_WARN_AGE 7 # 提前几天警告修改密码3 查询某个账户的使用期限等信息
$ sudo chage -l xmodulo Last password change : Jul 03, 2020 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 74 修改某个账户的期限信息
$ sudo chage -E 9/30/2020 -m 5 -M 360 -I 15 -W 14 kani # 设置账户kani最小密码有效期5天,最大使用期限360天,密码过期后15天后失效,提前14天提醒 # 对应状态如下 $ sudo chage -l kani Last password change : Jul 03, 2020 Password expires : Jun 28, 2021 Password inactive : Jul 13, 2021 Account expires : Sep 30, 2020 Minimum number of days between password change : 5 Maximum number of days between password change : 360 Number of days of warning before password expires : 145 -d 0 user
$ sudo chage -d 0 kani # -d 0 需要立刻修改密码 $ sudo chage -l kani Last password change : password must be changed Password expires : password must be changed Password inactive : password must be changed Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 365 Number of days of warning before password expires : 76 -d 07/08/2020 user
$ sudo chage -d 07/05/2020 kani # 设置哪天密码过期(2020-7-5) $ sudo chage -l kani Last password change : Jul 05, 2020 Password expires : Jul 05, 2021 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 365 Number of days of warning before password expires : 7 # 注: # 1 修改过后,Last password change和Password expires都会对应修改 2020.7.5 - 2021.7.5 # 2 修改-d是修改的Last password change,Password expires对应加Max的日子。适用于你想哪个账户指定期限内修改密码,又不想修改一个新密码的有效期限; # 3 修改-M是指你修改密码有效期,当前用户无需修改密码,从当天算有效期后才用修改密码,不能起到约束当前用户短期内修改密码的效果; # 4 如果之前没有密码期限之类的设置,可结合使用,-M设置有效期限,再-d设置哪天之前必须修改。一般一个新用户建立时会-d 0 让他首次登陆时就要修改密码 # 但是当你在设置的日期之前修改的话,就会更新为修改当天2020.7.4 $ sudo chage -l kani Last password change : Jul 04, 2020 Password expires : Jul 04, 2021 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 365 Number of days of warning before password expires : 7