zoukankan      html  css  js  c++  java
  • Linux使用PAM锁定多次登陆失败的用户(重置次数)原理后续补充----

      linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁。Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。


    1、 vim /etc/pam.d/sshd    (远程ssh)

      限制用户远程登录

      在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,仍旧可以登录。

      

    #%PAM-1.0
    auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200   // 三次错误密码锁定,普通用户锁定600秒,even_deny_root,对root用户生效,root锁定时间1200秒
    auth       required     pam_sepermit.so
    auth       substack     password-auth
    auth       include      postlogin
    # Used with polkit to reauthorize users in remote sessions
    -auth      optional     pam_reauthorize.so prepare
    account    required     pam_nologin.so
    account    include      password-auth
    password   include      password-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open env_params
    session    required     pam_namespace.so
    session    optional     pam_keyinit.so force revoke
    session    include      password-auth
    session    include      postlogin
    # Used with polkit to reauthorize users in remote sessions
    -session   optional     pam_reauthorize.so prepare
    

    2、 vim /etc/pam.d/login(终端)

            限制用户终端登陆

      在#%PAM-1.0的下面,即第二行,添加内容,同样是一定要写在前面。

    #%PAM-1.0
    auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200   
    auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
    auth       substack     system-auth
    auth       include      postlogin
    account    required     pam_nologin.so
    account    include      system-auth
    password   include      system-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    session    optional     pam_console.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open
    session    required     pam_namespace.so
    session    optional     pam_keyinit.so force revoke
    session    include      system-auth
    session    include      postlogin
    -session   optional     pam_ck_connector.so
    

      

    3、 解除锁定

      查看某一用户错误登陆次数:
      pam_tally –-user

      清空某一用户错误登陆次数:
      pam_tally –-user –-reset

      比如查看pamtest用户错误登陆次数

      

      比如清空pamtest用户的错误登陆次数

      

       如果前面的命令没有清楚成功,可以试下下面这个命令

       pam_tally2 –u tom --reset


    4、2020-09-04,本来是平常的一天,可是今天我一台机器的root密码忘了,而且这台机器还做了上述的安全认证。。。恢复难度可想而知。。。下面记录下恢复过程。。。

      第1步:开机后在内核上按“e”

      

        这时会进入内核启动,在linux16这行的后面输入“rd.break console=tty0”  然后按“ctrl+x "

       

       进入系统安全模式

      

      #mount –o remount,rw /sysroot

      #chroot /sysroot

      #passwd  密码这个时候设置复杂些

      #touch /.autorelabel

      #exit

      #exit

      以上操作完成之后,root用户密码已经修改,正常情况下已经可以登陆了,可是我设置了用户锁定策略。

      #vim /etc/pam.d/sshd

      删除第二行

      #vim /etc/pam.d/login

      删除第二行

      #exit

      #exit

      总算恢复了。

    付出是用来忘记的,回报时悄然而至的。不要让梦想,只是梦想!!!
  • 相关阅读:
    [转] Immutable 常用API简介
    [转] 组件库按需加载 借助babel-plugin-import实现
    [转] react-router4 + webpack Code Splitting
    [转] React Hot Loader 3 beta 升级指南
    [转] 如何写好.babelrc?Babel的presets和plugins配置解析
    [转] webpack热更新配置小结
    [转] 学会fetch的用法
    [转] webpack3.0踩坑:postcss-loader的使用
    [转] 详解webpack-dev-server的使用
    webpack 使用环境变量
  • 原文地址:https://www.cnblogs.com/SliverLee/p/13529477.html
Copyright © 2011-2022 走看看