随着linux系统使用的普遍性,对linux用户及系统安全要求也随之提升,单纯从单位制度,用户安全意识上来规范,并不能杜绝弱口令,必须从技术上要求用户定时修改复杂的密码,从而提高用户和系统的安全性。

密码策略的2个基本

一个密码最长使用期限,另一个是密码复杂度;这两个分别是/etc/login.defs 和/etc/pam.d/system-auth来控制。

1. vi /etc/login.defs

PASS_MAX_DAYS   90       #密码最长使用期限
PASS_MIN_DAYS 5 #密码最短使用期限
PASS_MIN_LEN 8 #密码最短长度
PASS_WARN_AGE 10 #多少天前提醒修改密码

2. /etc/login.defs 和/etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=5 type=     #控制密码复杂度  

配置文件中pam_cracklib.so用于密码检查,在不做任何修改前,pam_cracklib.so能做简单的短密码,字典密码检查,但是这种要求远远达不到密码口令复杂度要求,还需要做其他额外的配置,system-auth修改后立即生效。而且这一行不能被注释掉,注释掉操作系统上的任何用户都不能修改密码,一旦修改密码就会提示:passwd: Authentication token manipulation error。

修改密码策略复杂度:至少大写一个,小写一个,数字一个,特殊字符一个,密码长度9位以上。

#password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password requisite pam_cracklib.so try_first_pass retry=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8 remember=5 #修改后

字段解释:

retry=5      定义登录、或修改密码失败后,可以重复的次数
type=        选项,定义用户修改密码时的提示内容,一般不管
dcredit=-1   至少一个数字
lcredit=-1   至少一个小写
ucredit=-1   至少一个大写
ocredit=-1   至少一个特殊字符
minlen=8     密码最短长度为5位
remember=5   不能重复使用前5次使用过的密码

有时会看见dcredit=3,这种后面是正数,正数代表的是至多有3个数字。

                   

linux加固安全之密码复杂度的更多相关文章

  1. Linux下修改密码复杂度

    在linux,设置密码复杂度的方法有几个1. 一个是在/etc/login.defs文件,里面几个选项PASS_MAX_DAYS 90 #密码最长过期天数PASS_MIN_DAYS 80 #密码最小过 ...

  2. linux 密码复杂度设置

    /etc/login.defs文件,里面几个选项 PASS_MAX_DAYS 90 #密码最长过期天数 PASS_MIN_DAYS 80 #密码最小过期天数 PASS_MIN_LEN 10 #密码最小 ...

  3. Linux系统密码复杂度安全配置

    密码有效期控制 在文件/etc/login.defs中进行设置,如下参数 PASS_MAX_DAYS 180 #密码最长过期天数 PASS_MIN_DAYS 30 #密码最小过期天数 PASS_MIN ...

  4. linux(centos)下密码有效期和密码复杂度设置

    1.密码有效期 方法一: chage -l 用户名 查看用户的过期时间 chage -M 99999 用户名 用命令修改过期时间为永久 chage -M 90 用户名 设置密码有效期为90天 chag ...

  5. Linux下随机生成密码的命令总结

    有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下 ...

  6. Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤

    Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤 运行测试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...

  7. linux加固目标和对象

    一.  linux加固目标和对象 项目加固的目标:  解决今年信通公司在风险评估工作中发现的linux服务器存在的安全问题,并结合南方电网安全基线标准修订版部署相关要求,将linux服务器的安全状况提 ...

  8. Linux 忘记root登录密码解决方法

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3  ...

  9. 忘记Linux root用户的密码怎么办?

    以前忘记windows密码的时候,要么用工具清除,要么重装系统.假如你忘记了linux系统的root密码,怎么办呢?是像windows一样用工具破解还是重装系统呢?哈哈,都不用.这方法很简单,现在做一 ...

随机推荐

  1. 手机APP测试——Perfecto

    基于 Perfecto mobile cloud 的移动端自动化测试实践 本文将介绍 Pefecto mobile cloud 在移动端自动化测试的应用. Pefecto 将真实移动设备放到 clou ...

  2. SpringMvc中@PathVariable注解简单的用法

    @PathVariable /** * @PathVariable 可以来映射 URL 中的占位符到目标方法的参数中. * @param id * @return */ jsp页面请求 <a h ...

  3. 1. 参数的传入和添加 argparse.ArgumentParser()

    # Edit configuration 传入的参数使用的是--file_dir picture, 获取使用的是argv.file_dir import argparse, sys def parse ...

  4. PLSQL导出表的数据insert语句

    “Where clause”可以设置查询条件.设置好文件导出的路径(“Output file”),点击[Export]按钮,就可以导出INSERT语句了. 导出之后使用nodepad打开: 但是如果我 ...

  5. swiper 的左右箭头放到轮播外面

    <!-- 增加一个father的包裹 --> <div class="swiper-father"> <div class="swiper- ...

  6. 使用SpringWebFlow

    使用SpringWebFlow 本章主要内容: · 创建会话式的Web应用程序 · 定义流程状态和行为 Spring Web Flow 是Spring MVC 的扩展,它支持开发基于流程的应用程序.它 ...

  7. 【HTTP】一、HTTP协议简介及其工作流程

      协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器. (一 ...

  8. 笔记纪要:C# WebService URL重写

    背景# 有时候我们会有这样的需求,将 WebService URL 中的 asmx 后缀去掉:或者我们要模拟普通 Web 的 URL,接口名称直接拼接在 URL 中.这些情况我们都要用到URL重写. ...

  9. vps分区 挂载wdcp 的/www目录大小调整或增加分区/硬盘的方法

    http://www.wdlinux.cn/bbs/viewthread.php?tid=3574&highlight=%B7%D6%C7%F8 http://www.80vps.com/ne ...

  10. 常用DOS命令及编程软件fa

    1.常用的dos命令(应用) 在接触集成开发环境之前,我们需要使用命令行窗口对Java程序进行编译和运行,所以需要知道dos命令. 打开命令行窗口的方式:win + r打开运行窗口对java程序进行编 ...