Linux用户密码的有效期,是否可以修改密码可以通过login.defs文件控制.对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可以使用chage命令.

Linux用户密码的复杂度可以通过pam pam_cracklib module或pam_passwdqc module控制,两者不能同时使用. 个人感觉pam_passwdqc更好用.

/etc/login.defs密码策略

PASS_MAX_DAYS   99999     #密码的最大有效期, 99999:永久有期

PASS_MIN_DAYS   0          #是否可修改密码,0可修改,非0多少天后可修改

PASS_MIN_LEN    5          #密码最小长度,使用pam_cracklib module,该参数不再有效

PASS_WARN_AGE   7         #密码失效前多少天在用户登录时通知用户修改密码

pam_cracklib主要参数说明:

tretry=N:重试多少次后返回密码修改错误

difok=N:新密码必需与旧密码不同的位数

dcredit=N: N >= 0:密码中最多有多少个数字;N < 0密码中最少有多少个数字.

lcredit=N:小宝字母的个数

ucredit=N大宝字母的个数

credit=N:特殊字母的个数

minclass=N:密码组成(大/小字母,数字,特殊字符)

pam_passwdqc主要参数说明:

mix:设置口令字最小长度,默认值是mix=disabled。

max:设置口令字的最大长度,默认值是max=40。

passphrase:设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。

atch:设置密码串的常见程序,默认值是match=4。

similar:设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。

random:设置随机生成口令字的默认长度。默认值是random=42。设为0则禁止该功能。

enforce:设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;enforce=users将对系统上的全体非根用户实行这一限制;enforce=everyone将对包括根用户在内的全体用户实行这一限制。

non-unix:它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息,

retry:设置用户输入口令字时允许重试的次数,默认值是retry=3

密码复杂度通过/etc/pam.d/system-auth实施

如:

要使用pam_cracklib将注释去掉,把pam_passwdqc.so注释掉即可.

#password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3 difok=1

password    requisite     /lib/security/$ISA/pam_passwdqc.so min=disabled,24,12,8,7 passphrase=3

password    sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow

#password    requisite     /lib/security/$ISA/pam_cracklib.so retry=3 difok=1

新密码至少有一位与原来的不同

PASS_MIN_DAYS参数则设定了在本次密码修改后,下次允许更改密码之前所需的最少天数。PASS_WARN_AGE的设定则指明了在口令失效前多少天开始通知用户更改密码(一般在用户刚刚登陆系统时就会收到警告通知)。

你也会编辑/etc/default/useradd文件,寻找INACTIVE和EXPIRE两个关键词:

INACTIVE=14

EXPIRE=

这会指明在口令失效后多久时间内,如果口令没有进行更改,则将账户更改为失效状态。在本例中,这个时间是14天。而EXPIRE的设置则用于为所有新用户设定一个密码失效的明确时间(具体格式为“年份-月份-日期”)。

显然,上述这些设定更改之后,只能影响到新建立的用户。要想修改目前已存在的用户具体设置,需要使用chage工具。

# chage -M 60 joe

这条命令将设置用户joe的PASS_MAX_DAYS为60,并修改对应的shadow文件。

你可以使用chage -l的选项,列出当前的账户时效情况,而使用-m选项是设置PASS_MIN_DAYS,用-W则是设置PASS_WARN_AGE,等等。chage工具可以让你修改特定账户的所有密码时效状态。

注意,chage仅仅适用于本地系统的账户,如果你在使用一个类似LDAP这样的认证系统时,该工具会失效。如果你在使用LDAP作为认证,而你又打算使用chage,那么,哪怕仅仅是试图列出用户密码的时效信息,你也会发现chage根本不起作用。

制定一项策略,定义多长时间一个密码必须进行更改,然后强制执行该策略,是非常不错的一个做法。在解雇了某个雇员后,口令时效策略会保证该雇员不可能在被解雇3个月后发现他的口令依然可用。即使系统管理员忽略了删除他的帐号,该帐号也会因密码时效策略而被自动锁定。当然,这一点并不能成为不及时删除该雇员帐号的理由,但是这个策略的确提供了一层额外的安全防护,尤其是在过去常常忽视及时清理帐号的情况下。

linux用户密码策略求图,Linux用户密码策略相关推荐

  1. linux长期版本维护内容,[图]Linux Kernel 4.20首个维护版本更新发布 已稳定可广泛部署...

    Linux Kernel 4.20内核系列由Linus Torvalds于2018年12月23日发布,是目前Linux内核最新的分支.目前在Kernel.org网站上4.20.1版本标记已经从&quo ...

  2. 多台Linux服务器一起关机,求!linux 统一远程关机的方法?

    求!linux 统一远程关机的方法? (2011-09-01 01:24:04) 标签: 杂谈 求!linux 统一远程关机的方法?小弟现有一个问题: 现在有一个Solaris和linux 组成的局域 ...

  3. linux文件系统管理知识导图,Linux磁盘和文件系统管理基础知识自测

    自测简介:本试题为EMC自测专栏第22期,主要考查Linux磁盘和文件系统管理基础知识. 1. Linux系统中,所有设备文件存放在哪一个目录下? A. /etc B. /bin C. /dev D. ...

  4. Linux 文本格式显示折线图,linux 折线图

    可以这样回答:emmm 怎么说呢. 数据库就是用来存储数据的仓库,就像我们生活中存放物品的容器一样,但是容器也有通用和专用之分,比如塑料袋就是通用容器,因为塑料袋可以装各种东西:即可以装糖果,也可以装 ...

  5. linux 内核发布时间,求问Linux最新内核版本以及发布日期。

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 具有时效性的东西,百度能查处什么鬼来. mainline:4.3-rc32015-09-27[tar.xz][pgp][patch][view diff] ...

  6. linux改用户密码chpasswd,Linux chpasswd (批量或单一修改用户密码)和passwd(直接修改用户密码)...

    Linux命令:chpasswd 批量或者单一修改用户密码 语法: 1:# echo 用户名:密码 | chpasswd 2:# chpasswd < doiido.txt 实例 1.直接修改d ...

  7. aws ec2 linux 密码,AWS EC2实例Ubuntu系统设置root用户密码并使用root/ubuntu用户登录

    参考链接:http://www.wangchao.info/1137.html  注意:链接中写的简化了,其中重启服务的命令似乎不太适用,可能是不通用,我下面描述的方式亲测可行,如有其他疑问请留言: ...

  8. 虚拟机的安装和linux操作系统(RedHat.8.5)的安装。将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用ssh通过不同用户远程连接。在linux系统下破解密码

    目录 一.在VMware上如何创建虚拟机以及安装linux操作系统. 二.修改主机名为server.local. 三.将虚拟机的网络连接模式分别调换成仅主机模式,nat模式,桥接模式并获取ip地址使用 ...

  9. linux新用户登陆密码,如何强制Linux用户在第一次登录时更改初始密码?

    在多用户Linux环境下,创建使用某个随机默认密码的用户帐户是标准做法.之后在成功登录后,新用户可以将默认密码更改成自己的密码.出于安全方面的原因,常常建议"迫使"用户在第一次登录 ...

最新文章

  1. H3C静态路由、Track与BFD联动配置举例
  2. 在 Spring 4.3.9下升级 Velocity 1.7.x to Velocity 2.0.x 出现的问题
  3. java数组随机排序_JAVA 生成随机数数组,并排序输出
  4. internal error:failed to get path of 64-bit Program Files directory
  5. 算法设计7—哈希表1
  6. push模式的水晶报表,参数的设置要放在数据源设置之后
  7. vue-resource 和 axios的区别
  8. 微信公号“架构师之路”学习笔记(四)-分布式ID生成算法(应用场景、uuid/guid、snowflake算法)
  9. 刷新页面后怎样让hover样式停留不消失
  10. 网页百度云盘服务器有点忙,百度网盘使用提示网络异常,建议使用三种解决方法...
  11. Python小白的数学建模课-11.偏微分方程数值解法
  12. 端口错误 给Arduino下载程序提示
  13. 暑假教师计算机培训总结,教师信息化培训心得(精选5篇)
  14. 直接在html打开ppt,无需频繁跳转 教你在PPT内直接看网页
  15. 什么软件可以测试电池充电次数,iPhone电池循环次数查询软件
  16. 3d打印机品牌排行榜揭晓,stratasys公司名列前茅
  17. 1633: 能量获取(energy)
  18. cmake清空缓存 cmake clean
  19. 想在美国找CS软件工作
  20. MySQL下载完如何打开

热门文章

  1. ME21N增强提示警告消息
  2. 16款新品发布,数据揭秘小米MIX荣归背后逻辑
  3. 逐鹿东南亚,Lazada增长飞轮再加速
  4. mysql in 很大 优化_【转】mysql in语句优化
  5. 操作系统使用户和计算机的接口 对吗,计算机操作系统教程--核心与设计原理习题10答案...
  6. centos 对某ip开放 防火墙端口_CentOS防火墙iptables限制端口和来源IP地址访问的配置...
  7. java 8 语法糖_Java8的lamada算是一种语法糖吗?
  8. dedecms index_testenv.php,一招方面解决DedeCms后台反应慢
  9. php mssql生僻字,php生僻字的處理,插入數據庫被截斷,空白,亂碼解決辦法,php冷僻字處理...
  10. java skype 类库_Skype4Java 用 实现的 ,内附具体的开发文档和使用说明 Develop 238万源代码下载- www.pudn.com...