CentOS6.5下的用户密码策略

前端之家收集整理的这篇文章主要介绍了CentOS6.5下的用户密码策略前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这篇博客记录CentOS6怎么限制密码使用的长度、复杂度,过期时间。目的是防止用户使用弱密码,强制用户设置强密码。

Linux的用户密码是一大安全因素。如果你使用弱密码,极有可能会被人暴力破解。很多系统的安全问题都是由于使用弱密码引起的。

做为系统管理员,你应使用复杂的强密码。

1、修改密码复杂度

不知从何讲起,直接贴配置文件

配置文件:/etc/pam.d/system-auth,保存即生效

其实system-auth这个文件是个链接文件在同目录的system-auth-ac,这两个修改哪一个都行

  1. 1#%PAM-1.0
  2. 2#Thisfileisauto-generated.
  3. 3#Userchangeswillbedestroyedthenexttimeauthconfigisrun.
  4. 4authrequiredpam_env.so
  5. 5authsufficientpam_fprintd.so
  6. 6authsufficientpam_unix.sonulloktry_first_pass
  7. 7authrequisitepam_succeed_if.souid>=500quiet
  8. 8authrequiredpam_deny.so
  9. 9
  10. 10accountrequiredpam_unix.so
  11. 11accountsufficientpam_localuser.so
  12. 12accountsufficientpam_succeed_if.souid<500quiet
  13. 13accountrequiredpam_permit.so
  14. 14
  15. 15passwordrequisitepam_cracklib.sotry_first_passretry=2type=A+b+4+!difok=3minlen=7dcredit=-1ucredit=-1lcredit=-1ocredit=-1##需要修改的行
  16. 16
  17. 17passwordsufficientpam_unix.sosha512shadownulloktry_first_passuse_authtok
  18. 18passwordrequiredpam_deny.so
  19. 19
  20. 20sessionoptionalpam_keyinit.sorevoke
  21. 21sessionrequiredpam_limits.so
  22. 22session[success=1default=ignore]pam_succeed_if.soserviceincrondquietuse_uid
  23. 23sessionrequiredpam_unix.so


注解:

我设置的策略是:修改密码可重新输入两次,修改密码提示A+b+4+! ,新密码必须要和旧密码有3个字符不同,密码长度最低7位,最少包含1位大写数字,最少包含1位大写字母,最少包含1位小写字母,最少包含1位特殊字符

type=XXX 这个的意思就是修改密码时的提示

retry=N:此选项定义用户在重试输入多少次密码后,返回一个错误信息,然后不准继续输入。缺省是1次。

difok=N:此选项用来定义新密码中必须有几个字符要与旧密码不同,如果新密码中有1/2以上的字符与旧密码不同时,该新密码就会被接受。

  minlen=N:此选项用来设置新密码的最小长度。

  dcredit=N:此选项用来设定新密码中可以包含数字的最大数目。

  ucredit=N:此选项用来设定新密码中可以包含的大写字母的最大数目。

  lcredit=N:此选项用来设定新密码中可以包含的小写字母的最大数目。

  ocredit=N:此选项用来设定新密码中可以包含的特殊字符的最大数目。

具体信息大家可以man pam_cracklib来获取帮助,但是有一点我觉得需要注意一下,就是关于密码长度的计算,官方的man解析很不好理解,你会发现dcredit,ucredit,lcredit,ocredit这些的值也可以设置为正数,也可以为负数

设置为正数,就非常不好理解,可以推荐大家看一下这个网友的博客记录:http://blog.sina.com.cn/s/blog_74bceb490102w4os.html

设置为负数,就代表为最少包含的位数,我这里是最少包含1位


2、修改用户密码过期时间


配置文件:/etc/login.defs,保存即生效

  1. ...
  2. 25PASS_MAX_DAYS90##密码最大有效时间
  3. 26PASS_MIN_DAYS0##最小密码使用时间
  4. 27PASS_MIN_LEN5##密码最小长度
  5. 28PASS_WARN_AGE7##密码失效前提前多少天数开始警告;
  6. ...

设置后,创建的用户即可生效,但是对以前的用户是不能生效的

  1. [root@PEAANSIBLEpam.d]#useraddxiaowang
  2. [root@PEAANSIBLEpam.d]#chage-lxiaowang
  3. Lastpasswordchange:Nov29,2017
  4. Passwordexpires:Feb27,2018
  5. Passwordinactive:never
  6. Accountexpires:never
  7. Minimumnumberofdaysbetweenpasswordchange:0
  8. Maximumnumberofdaysbetweenpasswordchange:90
  9. Numberofdaysofwarningbeforepasswordexpires:7
  10. [root@PEAANSIBLEpam.d]#

这就是密码的复杂度相关的策略,其实关于这一块后期还是要做SSH的错误登陆限制,这样才是一个完整的体系,SSH登陆限制也是基于pam.d这个模块来实现的,有时间再写吧

猜你在找的CentOS相关文章