linux查看⽤户⼝令⽣存期,BVS安全检测之检查Linux是否⼝令
⽣存周期
⼝令⽣存周期的配置⽂件为 /etc/login.defs
vim 打开该⽂件,命令模式下输⼊ /PASS_MAX_DAYS 到该配置信息的位置effectcreator抖音视频特效软件
我的Linux操作系统默认显⽰的是99999,说明我当前⽤户密码的⽣存周期为99999天
默认配置如图:
PASS_MAX_DAYS为密码最长使⽤时间,多少天后会有提醒
PASS_MIN_DAYS为密码最短使⽤时间,意思是多少天内不能修改密码
PASS_WARN_AGE密码过期后会提醒多少天,这些天内还没有修改密码的⽤户,账户会被冻结
java虚拟机简称我们可以输⼊ cat /etc/shadow 查看当前⽤户的这些信息
0为PASS_MIN_DAYS, 99999为PASS_MAX_DAYS, 7为PASS_WARN_AGE软件测试web项目实例
和配置的信息⼀样。
现在我们的安全检查要求⽤户的Linux系统的⼝令⽣存周期时间应该⼩于等于标准值90,
请编写⼀个脚本测试该Linux系统是否满⾜该安全条件:
1 #!/usr/bin/env python3
2
3 importre4
5 defpiv(filename):
6 with open(filename, "r") as f:
7 text =f.read()
performselector8 result = re.search("PASS_MAX_DAYS\s*
(\d+)",text).group(1)9 if int(result) <= 90:10 returnTrue11 returnFalse12
13 if __name__ == "__main__":14 filename = "/etc/login.defs"
15 print(piv(filename))
linux修改口令的命令
打开⽂件/etc/login.defs并对其内容进⾏读取,在使⽤正则表达式匹配⽂中的PASS_MAX_DAYS 99999,
以此得到后⾯的数字,再对其进⾏判断即可。只要它⼩于等于90,则满⾜安全的条件。
这⾥的正则表达式为  "PASS_MAX_DAYS\s*(\d+)",
意思就是PASS_MAX_DAYS后跟0个或多个空⽩字符,再跟1个或多个数字。将数字⼦组话(加括号),⽅便提取。
同样PASS_WARN_AGE的要求值>=30的检测⽅法是相同的。
1 #!/usr/bin/env python3
2
intimately
3 importre4
5 defpass_warn_age(filename):
6 with open(filename) as f:
7 text =f.read()
8 result = re.search("PASS_WARN_AGE\s* (\d+)",text).group(1)
9 if int(result) >= 30:10 returnTrue11 returnFalse12
13 if __name__ == "__main__":14 filename = "/etc/login.defs"
15 print(pass_warn_age(filename))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。