Ubuntu - 如何设置普通用户的密码强度

未安装的话需要先装个软件,来管理密码强度

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	: 7

4 修改某个账户的期限信息

$ 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	: 14

5 -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	: 7

6 -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

 

Guess you like

Origin blog.csdn.net/Eric_Evil/article/details/107114146