zoukankan      html  css  js  c++  java
  • Centos 用户登录失败N次后锁定用户禁止登陆

    针对linux上的用户,如果用户连续3次登录失败,就锁定该用户,几分钟后该用户再自动解锁

    Linux有一个pam_tally2.so的PAM模块,来限定用户的登录失败次数,如果次数达到设置的阈值,则锁定用户。

    1、修改配置文件
    # vim /etc/pam.d/login

    #%PAM-1.0
    auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10 onerr=succeed file=/var/log/tallylog

    auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so
    auth include system-auth

    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 optional pam_keyinit.so force revoke
    session required pam_loginuid.so
    session include system-auth
    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

    各参数解释
    even_deny_root 也限制root用户;
    deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
    unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
    root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;

    2、限制用户从tty登录
    在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!
    # vim /etc/pam.d/login
    #%PAM-1.0
    auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10

    3、验证ssh是否加载pam_tally2身份验证模块
    ldd /usr/bin/passwd | grep libpam
    libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007fb74f748000)
    libpam.so.0 => /lib64/libpam.so.0 (0x00007fb74eb45000)
    如看到有类似的输出,说明该程序使用了PAM,没有输出,则没有使用。

    4、查看root用户登录失败次数
    [root@bigdata ~]# pam_tally2 --user root
    Login Failures Latest failure From
    root 18 12/24/20 13:39:28 10.10.76.22

    5、解锁指定用户
    [root@bigdata ~]# pam_tally2 -r -u root
    Login Failures Latest failure From

    6、Linux中普通用户配置sudo权限(带密或免密)
    配置步骤如下:

    6.1、登陆或切换到root用户下;

    6.2、添加sudo文件的写权限,命令是:chmod u+w /etc/sudoers

    6.3、编辑sudoers文件:vi /etc/sudoers或者visudo

    找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (注:这里的xxx是你的用户名)

    你可以根据实际需要在sudoers文件中按照下面四行格式中任意一条进行添加:
    youuser ALL=(ALL) ALL
    %youuser ALL=(ALL) ALL
    youuser ALL=(ALL) NOPASSWD: ALL
    %youuser ALL=(ALL) NOPASSWD: ALL

    Defaults:bbders timestamp_timeout=-1,runaspw

    第一行:允许用户youuser执行sudo命令(需要输入密码)。
    第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码)。
    第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码。
    第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码。
    第五行:timestamp_timeout=-1 只需验证一次密码,以后系统自动记忆,runaspw 需要root密码,如果不加默认是要输入普通账户的密码
    6.4、撤销sudoers文件写权限,命令:chmod u-w /etc/sudoers

  • 相关阅读:
    洛谷 P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…(树规)
    STREAMING #5 题解 3.高位网络
    冲刺NOIP2015提高组复赛模拟试题(五) 3.破坏基地
    冲刺NOIP2015提高组复赛模拟试题(五)2.道路修建
    冲刺NOIP2015提高组复赛模拟试题(五)1.数学作业
    洛谷P1186 玛丽卡 spfa+删边
    清北学堂 day6 花
    清北学堂 day6 兔子
    C++ STL 全排列函数
    flash分区的意义
  • 原文地址:https://www.cnblogs.com/aqicheng/p/14184816.html
Copyright © 2011-2022 走看看