linux查看用户口令生存期,BVS安全检测之检查Linux是否口令生存周期-程序员宅基地

技术标签: linux查看用户口令生存期  

口令生存周期的配置文件为 /etc/login.defs

vim 打开该文件,命令模式下输入 /PASS_MAX_DAYS 找到该配置信息的位置

我的Linux操作系统默认显示的是99999,说明我当前用户密码的生存周期为99999天

默认配置如图:

20180110222725736267.png

PASS_MAX_DAYS为密码最长使用时间,多少天后会有提醒

PASS_MIN_DAYS为密码最短使用时间,意思是多少天内不能修改密码

PASS_WARN_AGE密码过期后会提醒多少天,这些天内还没有修改密码的用户,账户会被冻结

我们可以输入 cat /etc/shadow 查看当前用户的这些信息

20180110222725745056.png

0为PASS_MIN_DAYS, 99999为PASS_MAX_DAYS, 7为PASS_WARN_AGE

和配置的信息一样。

现在我们的安全检查要求用户的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()8 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))

打开文件/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

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

原文:http://www.cnblogs.com/xautxuqiang/p/6495619.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42521058/article/details/116828031

智能推荐

阿里云windows server 2012 r2服务器搭建网站_本地windows server 2012 r2部署网站-程序员宅基地

文章浏览阅读3.6k次。(一)安装必要的环境以及软件可参考这篇博客https://blog.csdn.net/phpzhi/article/details/80564381在修改httpd.conf文件时,可能会因为端口的冲突问题导致安装不成功建议将Listen 80 端口修改为其它的如8088.启动apache服务:net start Apache24关闭apache服务:net stop A..._本地windows server 2012 r2部署网站

7-2 从键盘输入三个数到a,b,c中,按公式值输出 (30 分)_7-2 从键盘输入三个数到a,b,c中,按公式值输出-程序员宅基地

文章浏览阅读4k次。在同一行依次输入三个值a,b,c,用空格分开,输出 b* b-4* a* c的值输入格式:在一行中输入三个数。输出格式:在一行中输出公式值。输入样例:在这里给出一组输入。例如:3 4 5输出样例:在这里给出相应的输出。例如:-44代码:a,b,c = input().split()a,b,c = eval(a),eval(b),eval(c)d = b*b-4*a*cprint(d)..._7-2 从键盘输入三个数到a,b,c中,按公式值输出

用Blend 修改 WPF ComboBox的背景色和字体颜色 详情介绍_wpf 修改combobox 箭头颜色-程序员宅基地

文章浏览阅读9.6k次,点赞5次,收藏14次。Blend是VS 2015中自带的,所以框架.NET Framework4.5及以上。用Blend打开页面1、拖一个下拉框ComboBox,并添加几项默认值,以方便测试看效果。_wpf 修改combobox 箭头颜色

MATLAB+GUI:手动修改曲线中的点_matlab如何将一条曲线的数据稍微修改一点-程序员宅基地

文章浏览阅读6.6k次,点赞5次,收藏31次。本文目的:手动修改已知曲线中的点 功能: 1、可以放缩图像,进行数据点的修改 2、可以选定数据点,并进行修改 3、数据点的修改不能超出相邻点的范围 4、可以移动坐标轴和图像,以方便观察整体图像 5、可以保存修改后的数据 由于不仅需要代码,还需要fig和数据等,可以私信索取。function varargout = movePoints(va..._matlab如何将一条曲线的数据稍微修改一点

termux无法安装引导程序包_安卓手机上安装termux,把手机当linux服务器用-程序员宅基地

文章浏览阅读3.0k次。旧的安卓手机不要扔,可以拿来做一个微型的linux服务器,编程开发,跑服务都不在话下!本文就以6年前发布的小米2s为例,亲自带大家一起体验一下这种手机服务器并简单分析其中的一些原理。一、升级最新安卓操作系统像小米2s这样已经发布6年多的手机,配置已经不够用了。但是我们知道,谷歌每年发布的新安卓系统版本都有性能的优化,所以旧手机如果能升级系统,自然也能改善性能。工欲善其事必先利其器,我们先把旧手机升..._termux引导程序包

RocketMQ生产部署-程序员宅基地

文章浏览阅读335次。本文英文原文来自RocketMQ官方部署文档文章目录前提准生产环境部署命名服务代理服务配置代理服务配置命令行管理工具如何访问如何使用复制模式复制:同步/异步 代理服务如何配置部署本章节介绍了准生产环境部署方案。综合来讲,我们要部署一套弹性伸缩并且没有单点故障的RocketMQ集群。前提开始本章之前,你需要先了解过快速开始,并且熟悉RocketMQ的组件和核心概念。准生产环境部署命名..._rocketmq生产部署

随便推点

vb.net 接口POST方式传参数提交返回值_vb.net webclient post-程序员宅基地

文章浏览阅读1k次。Try Dim WebClientObj As New System.Net.WebClient() Dim PostVars As New System.Collections.Specialized.NameValueCollection() 'URL _vb.net webclient post

解决EditText 键盘imeOptions 设置后与换行冲突问题-程序员宅基地

文章浏览阅读604次。解决EditText 键盘imeOptions 设置后与换行冲突问题EditText imeOptions 设置必然需要设置singleLines=true 或者设置 inputType=“textXXX”, 这就不太符合需求。 解决办法:继承 EditTextpublic InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection connection = super.onCreate_解决edittext 键盘imeoptions 设置后与换行冲突问题

Pycharm配置Anaconda中的Tensorflow环境详解_pycharm配置anaconda的tensorflow-程序员宅基地

文章浏览阅读4.9w次,点赞6次,收藏21次。Pycharm配置Anaconda中的Tensorflow环境详解1.打开Pycharm软件,新建工程,点击File->Default Settings->Project Interprete2.默认的应该是anaconda下的python环境,我们点击Existing enviroment:3.点击右边...添加:4.找到anaconda目录下的envs,因为我装了两次Tensorfnslow(每创建一个环境,就可以安装一个,不冲突),所以可以看到我这边会有两个这种_pycharm配置anaconda的tensorflow

符号扩展,零扩展与符号缩减-程序员宅基地

文章浏览阅读1.6w次,点赞23次,收藏101次。1. 符号位扩展,零扩展,符号位缩减1.1 符号位扩展高级程序设计语言允许程序员使用包含不同大小整数的对象表达式。那么,当一个表达式的两个操作数大小不同时,有些语言会报错,有些语言则会自动将操作数转换成一个统一的格式。这种转换是有代价的,因此如果你不希望编译器在你不知情的情况下自动加入各种转换到原本非常完美的代码中,你就需要掌握编译器如何处理这些表达式。以-64为例,其8位的二进制补码(1100 0_符号扩展

【引用】DMA内存申请--dma_alloc_coherent_dma引用-程序员宅基地

文章浏览阅读2.8k次。在项目驱动过程中会经常用到dma传输数据,而dma需要的内存有自己的特点,一般认为需要物理地址连续,并且内存是不可cache的,在linux内核中提供一个供dma所需内存的申请函数dma_alloc_coheren. 如下所述:dma_alloc_coherent()dma_alloc_coherent() -- 获取物理页,并将该物理页的总线地址保存于dma_handle,返回该物理页的虚拟地址_dma引用

JAVA—— Linux(二)_java llinux-程序员宅基地

文章浏览阅读1.1k次。文章目录1 Linux文件管理1.1 touch命令1.2 vi与vim命令1.2.1 vi/vim介绍1.2.2 vi/vim模式1.2.3 打开和新建文件1.2.4 三种模式切换1.2.5 文件查看**1) cat命令**2) grep命令3) tail命令4)less命令1.2.6 vim定位行**1.2.7 异常处理**1.2.8 操作扩展1.3 echo 命令第二步: 将**命令的成功结果** **追加** 指定文件的后面第三步: 将**命令的失败结果** **追加** 指定文件的后面1.4 _java llinux