• pam密码策略


    PAM 的使用历史

    PAM 是关注如何为服务验证用户的 API。在使用 PAM 之前,诸如 login(和 rlogintelnetrsh)之类的应用程序在 /etc/passwd 中查找用户名,然后将两者相比较并验证用户输入的名称。所有应用程序使用了这些共享服务,但是并未共享实现细节和配置这些服务的权限。

    接下来,应用程序开发人员尝试编写自定义过程代码。在此过程中,需要分离应用程序与安全模块(通用安全模块可以在应用程序之间共享并且可以根据需求进行配置)。

    PAM 机制将把多个低级别验证模式集成到高级别 API 中,该 API 将允许以独立于底层验证模式的方式编写使用验证的程序。PAM 的主要特征表现为通过 /etc/pam.d 或 /etc/pam.conf 文件实现动态验证配置。

    PAM 可以被配置为拒绝某些程序对用户进行验证,或者在某些程序尝试验证时发出警告。PAM 程序将使用 PAM 模块(验证模块):这些模块在运行时与应用程序绑定在一起才能工作。

    基于PAM实现的密码策略

    需要使用pam_passwdqc.so模块控制权限

    修改 vi /etc/pam.d/system-auth 

    启用 pam_passwdqc.so 验证模块

    上传到    /lib64/security/ 目录下

    修改

    password required  pam_passwdqc.so min=disabled,disabled,18,12,12max=30 passphrase=3 match=4 similar=deny enforce=everyone disable_firstupper_lastdigit_check 

    规则解释如下: 
    1)只包含一种字符的密码,拒绝(大小写,数字,特殊字符分别为4种字符) 
    2)只包含两种字符的密码,拒绝 
    3)如果密码中被识别出了常用的单词,那么最小长度就必须为18位。常用单词的最小识别长度为3.(由passphrase=3制定) 
    4)包含三种字符的密码,最小长度为12位 
    5) 包含四种字符的密码,最小长度为12位 
    6)如果发现本次修改的密码跟老密码有4个substring的长度类似,就认为是弱密码。(match=4 similar=deny) 
    7) 这个策略对所有用户都生效。(enforce=everyone ) 
    8)默认情况下,对于输入的密码,如果第一个字母是大写字母,或者最后一个字母为数字,则不会计入密码字符的种类。比如:Fuck1234,由于第一个F是大写字母,所以会被认为,该密码只有小写字母和数字两种字符。用disable_firstupper_lastdigit_check 禁止了这种识别。 

    修改完成后实现 如下

     

    生成密码

    可以采用linux自带的系统密码工具

    如果未安装

    yum install expect.x86_64   

    参数使用

    -l #      (length of password, default = 7)
                      指定密码的长度,默认是7位数
    -d #      (min # of digits, default = 2)
                      指定密码中数字最少位数,默认是2 
    -c #      (min # of lowercase chars, default = 2)
                      指定密码中小写字母最少位数,默认是2位
    -C #      (min # of uppercase chars, default = 2)
                      指定密码中大写字母最少位数,默认是2位
     
    -s #      (min # of special chars, default = 1) 
                      指定密码中特殊字符最少位数,默认是1位
    -v        (verbose, show passwd interaction)

    安装后可以使用   mkpasswd -l 18 -s 4 -c 4 -C 4

     普通修改密码报错    

    passwd: Authentication token manipulation error

    要先输入旧密码

    临时处理方式:
    可以通过passwd -d test清空test密码,然后用户可以自行修改密码

  • 相关阅读:
    ORACLE数据库表解锁record is locked by another user
    Oracle11gR2设置连接数process与会话session值
    Oracle 11g用exp无法导出空表的处理方法
    Oracle随机选择一条记录SQL
    Oracle取查询结果数据的第一条记录SQL
    Hibernate 一对多查询对set的排序
    Windows平台下Oracle实例启动过程中日志输出
    Windows平台下Oracle监听服务启动过程中日志输出
    Windows平台下Oracle 11g R2监听文件日志过大,造成客户端无法连接的问题处理
    WebSphere设置会话超时时间
  • 原文地址:https://www.cnblogs.com/pomme/p/7197234.html
Copyright © 2020-2023  润新知