Centos7设置账号密码复杂度、密码有效期、账号锁定、会话超时等策略

艺帆风顺 发布于 2025-04-03 22 次阅读


一、设置密码复杂度

        CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。

       (一)编辑system-auth

vim /etc/pam.d/system-auth

  修改策略

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=5 enforce_for_root

  

      (二)参数说明

        负数:代表最少出现次数,正数:代表最多出现次数

        minlen = 8,密码长度至少8位;

        lcredit=-1,至少包含一个小写字母;

        ucredit=-1,至少包含一个大写字母;

        dcredit=-1,至少包含要给数字;

        ocredit=-1,至少包含一个特殊字符;

        difok=5,新密码最多与旧密码重复5个字符;

        enforce_for_root,对root强制执行密码复杂度策略。

二、设置密码有效期

        (一)编辑login.defs

vim /etc/login.defs

        配置策略

        #密码的最大有效期

        PASS_MAX_DAYS   180

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

        PASS_MIN_DAYS   0

        #密码最小长度,pam_pwquality设置优先

        PASS_MIN_LEN    8

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

        PASS_WARN_AGE   15

        #以上设置只针对新用户生效,原来用户不生效。

        原有用户设置密码有效期,可以使用命令:

chage -M 180 root

三、设置登陆会话超时

        10分钟无操作,自动退出会话。

  1. vim /etc/profile

  2. TMOUT=600 #600秒超时

  3. source /etc/profile

四、设置登陆失败锁定

        输错5次密码,账号锁定10分钟。

  1. vim /etc/pam.d/system-auth

  2. auth        required      pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600

        此项配置只对控制台有效,ssh无效。

        如果需要对ssh远程有效,则需要修改/etc/pam.d/sshd

auth       required     pam_tally2.so onerr=fail deny=5 unlock_time=600 root_unlock_time=600

    版权声明:本文内容来自CSDN:连月亮都想脱离地球,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。原文链接:https://blog.csdn.net/liwei15889790675/article/details/135070180如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。