centos7操作系统

在CentOS 7上实现密码复杂度策略设置

一.使用login.defs文件

解析:/etc/login.defs 是设置新建用户帐号限制的文件。该文件里的配置对root用户无效。/etc/login.defs 文件用于在Linux创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度等

可用参数

PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_MIN_LEN
PASS_WARN_AGE UID_MIN
UID_MAX
GID_MIN
GID_MAX
CREATE_HOME
UMASK 077
USERGROUPS_ENAB
ENCRYPT_METHOD

二./etc/security/pwquality.conf详解

可用参数

 1 retry=N:定义登录/修改密码失败时,可以重试的次数;
2 Difok=N:定义新密码中必须有几个字符要与旧密码不同。但是如果新密码中有1/2以上的字符与旧密码不同时,该新密码将被接受
3 minlen=N:定义用户密码的最小长度
4 dcredit=N:定义用户密码中必须包含多少个数字
5 ucredit=N:定义用户密码中必须包含多少个大写字母
6 lcredit=N:定义用户密码中必须包含多少个小些字母
7 ocredit=N:定义用户密码中必须包含多少个特殊字符(除数字、字母之外)
8 minclass=N: 密码组成至少拥有的字符种类(数字,大写字母小写字母特殊字符)
9 maxrepeat=N: 密码组成允许的最长连续字母长度
10 maxclassrepeat=N: the maximum number of allowed consecutive(连续)characters of the same class in the new password
11
12 其中 N=-1表示,至少有一个 |对于密码策略 <0表示最少要含有 >0表示最多
13 N=0 不检查
14 N=1

三 使用PAM pwquality模块完成  关键词: /etc/pam.d/system-auth

linux对应的密码策略模块有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc模块对应的是/etc/login.defs,pam_pwquality对应的是/etc/security/pwquality.conf

如果直接在system-auth文件修改的话可能要加一下参数 但是如果直接找到文件的话就可以直接修改文件对应参数的数字

1 vi /etc/pam.d/system-auth
#进入system-auth文件后源文件为

由上面的pam模块文件内容看,可以将pam配置文件分为四列

  • 第一列代表模块类型
  • 第二列代表控制标记
  • 第三列代表模块路径
  • 第四列代表模块参数

文件解析

第一列

1. auth组件:认证接口(authentication) 要求验证密码

2.account组件:检测用户是否允许访问.检测用户是否过期或则在末端时间内能否登陆

3.password组件:设置并验证密码

4.session组件:配置和管理用户sesison


第二列

1. required:该模块必须success才能进行继续。即使失败用户也不会立刻获知,直到所有相关模块完成

2.requisite:该模块必须success才能使认证继续进行. 如果模块失败则立刻停止执行

3.suffifient:如果失败则忽略

4.optinal:忽略结果,不管是否失败


第三列

PAM模块 结合管理类型 说明
pam_unix.so

auth

提示用户输入密码,并与/etc/shadow文件相比对.匹配返回0

account 检查用户的账号信息(包括是否过期等).帐号可用时,返回0.
password 修改用户的密码. 将用户输入的密码,作为用户的新密码更新shadow文件
pam_shells.so

auth

account

如果用户想登录系统,那么它的shell必须是在/etc/shells文件中之一的shell
pam_deny.so

account

auth

password

session

该模块可用于拒绝访问
pam_permit.so

auth

account

password

session

模块任何时候都返回成功.
pam_securetty.so auth 如果用户要以root登录时,则登录的tty必须在/etc/securetty之中.
pam_listfile.so

auth

account

password session

访问应用程的控制开关
pam_cracklib.so password

这个模块可以插入到一个程序的密码栈中,用于检查密码的强度.

pam_limits.so session 定义使用系统资源的上限,root用户也会受此限制,可以通过/etc/security/limits.conf或/etc/security/limits.d/*.conf来设定

最新文章

  1. Javascript词法分析
  2. Win7怎么用IIS发布网站系统 部署项目
  3. 【SPOJ】10628. Count on a tree(lca+主席树+dfs序)
  4. Android使用KSOAP2调用WebService及正确导入jar包的问题(转)
  5. HDU 4081 Qin Shi Huang&#39;s National Road System 最小生成树
  6. ios基础知识
  7. RF学习过程中遇到的问题
  8. C#:iterator 迭代器/partial class 分布类/泛型
  9. PHP关于数组缓存JSON、serialize、var_export的说明
  10. geoserver发布地图服务WMTS
  11. python中的与 和 或
  12. C语言作业--数据类型
  13. java正则使用方法
  14. python 中 try catch finally语句中含有return语句的执行情况
  15. 手指向上滑动跳转页面的JQ方法
  16. SQL反模式学习笔记5 外键约束【不用钥匙的入口】
  17. Summary on deep learning framework --- TensorFlow
  18. R语言
  19. bzoj1831 逆序对 (dp+树状数组)
  20. FAST:通过Floodlight控制器下发流表

热门文章

  1. 记录一个cpu彪高的BUG处理--jvm调优
  2. RadioGroup 自动换行且保留点击事件
  3. Kubernetes 网络模型基础指南
  4. Qt中的多窗体编程(续一)
  5. WPF 打印界面控件内容
  6. TensorFlow中的Placeholder
  7. C++数组(二):二维数组
  8. Linux 在miniconda和anaconda同时安装时,卸载miniconda
  9. ESLint未定义报错
  10. linux批量操作(一)