服务器root用户密码输错次数太多有啥影响

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器root用户密码输错次数太多有啥影响相关的知识,希望对你有一定的参考价值。

1.备份要操作的两个配置文件
cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
cp /etc/pam.d/login /etc/pam.d/login.bak

2.检查是否有pam_tally2.so模块
[root@iZ25dd99ylmZ security]# find /lib* -iname “pam_tally2.so”
/lib64/security/pam_tally2.so
[root@iZ25dd99ylmZ security]# find /lib* -iname “pam_tally.so”
[root@iZ25dd99ylmZ security]# cat /etc/pam.d/sshd

3.登录失败处理功能策略(服务器终端)
vim /etc/pam.d/system-auth (服务器终端)
在首行#%PAM-1.0下增加:
auth required pam_tally2.so onerr=fail deny=3 unlock_time=40 even_deny_root root_unlock_time=30
注意添加的位置,要写在第一行,即#%PAM-1.0的下面。
以上策略表示:普通帐户和 root 的帐户登录连续 3 次失败,就统一锁定 40 秒, 40 秒后可以解锁。如果不想限制 root 帐户,可以把 even_deny_root root_unlock_time
这两个参数去掉, root_unlock_time 表示 root 帐户的 锁定时间,onerr=fail 表示连续失败,deny=3,表示 超过3 次登录失败即锁定。
注意:
用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,若果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。

4.登录失败处理功能策略(ssh远程连接登录)
上面只是限制了从终端登陆,如果想限制ssh远程的话, 要改的是
/etc/pam.d/sshd这个文件,添加的内容跟上面一样!
vim /etc/pam.d/sshd (远程ssh)
在首行#%PAM-1.0下增加:
auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30

vim /etc/pam.d/login (终端)
在首行#%PAM-1.0下增加:
auth required pam_tally2.so deny=3 unlock_time=20 even_deny_root root_unlock_time=30

如果在操作中间出现下面这个错误:
Dec 7 15:06:51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM unable to dlopen(/lib64/security/pam_tally.so): /lib64/security/pam_tally.so: cannot open shared object file: No such file or directory
Dec 7 15:06:51 iZ2zee7gmy40tbverl53rfZ sshd[15747]: PAM adding faulty module: /lib64/security/pam_tally.so
上面的错误意思是在/lib64/security/ 下面找不到pam_tally.so,而我进入到目录下,确实没找到这个文件,解决方法是将现有的 pam_tally2.so做个软连接到pam_tally.so
[root@iZ2zee7gmy40tbverl53rfZ ~]# cd /lib64/security/
[root@iZ2zee7gmy40tbverl53rfZ ~]#ln -s pam_tally2.so pam_tally.so

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

5.测试
可以故意输错密码超过三次,然后第五次输入正确密码,如果正确密码进入不了系统,说明配置生效。以上的配置是即时生效的,不用重启配置文件或系统,但是请注意多开个ssh窗口,防止配置文件更改错误,将自己关在服务器外面。

6.解锁账户
如果密码在锁定时间内,但是又要立即进入系统,可使用下面方法解锁被锁定用户,当然这是对于root用户解锁普通用户来说的。如果root用户被锁,请等待锁定期过后在操作。
手动解除锁定:
查看某一用户错误登陆次数:
pam_tally –-user
例如,查看work用户的错误登陆次数:
pam_tally –-user work 或者 pam_tally –u work
清空某一用户错误登陆次数:
pam_tally –-user –-reset
例如,清空 work 用户的错误登陆次数,
pam_tally –-user work –-reset
faillog -r 命令亦可。

如果前几条没生效的话,也可以使用命令:
pam_tally2 –u tom --reset将用户的计数器重置清零(SLES 11.2下用此命令才重置成功)

查看错误登录次数:pam_tally2 –u tom

解锁指定用户
[root@iZ25dsfp6c3dZ ~]# pam_tally2 -r -u root

7.修改密码长度限制和字符限制
vim /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=-1 dcredit=-1 ocredit=-1 ucredit=-1
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
就是密码的一些策略,密码长度至少8
retry 定义登录/修改密码失败时,可以重试的次数
minlen 定义用户密码的最小长度为8位
lcredit=-1 定义用户密码中最少有1个小写字母
dcredit=-1 定义用户密码中最少有1个数字
ocredit=-1 定义用户密码中最少有1个特殊字符
ucredit=-2 定义用户密码中最少有2个大写字母
remember=5 修改用户密码时最近5次用过的旧密码就不能重用了
参考技术A 一般服务器root用户密码输入次数太多。可能会锁住此服务器。建议一次性把密码输入正确。

疑难杂症,逐个下药

  1. 用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串格式化)
  2. 三次登录:

    1.让用户输入三次的机会,错一次的时候就要询问用户是否要继续

    2.分别判断用户名和密码,如果用户名错误就提示用户错误,如果是密码错误就提示是密码错误.在输入账号和密码时候不区分大小写

    3.使用格式化输出来提示用户所剩余的次数

    4.用户输入正确就提示’输入正确’,并结束循环

  3. 实现一个整数加法计算器(多个数相加):

    如:content = input("请输入内容:") 用户输入:5+9+6 +12+  13,然后进行分割再进行计算。

  4.  

    写代码,完成下列需求:(升级题)

     

    用户可持续输入(用while循环),用户使用的情况:

     

    输入A,则显示走大路回家,然后在让用户进一步选择:

     

    是选择公交车,还是步行?

     

    选择公交车,显示10分钟到家,并退出整个程序。

     

    选择步行,显示20分钟到家,并退出整个程序。

     

    输入B,则显示走小路回家,并退出整个程序。

     

    输入C,则显示绕道回家,然后在让用户进一步选择:

     

    是选择游戏厅玩会,还是网吧?

     

    选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。

     

    选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

     

  5. 判断?句话是否是回文. 回文: 正着念和反着念是一样的. 例如, 上海自来水来自海上(升级题

  6. 输??个字符串,要求判断在这个字符串中大写字符,小写字符,数字, 其它字符共出现了多少次,并输出出来

  7. 首先让用户输入序号选择格式如下:

      0.退出

      1.开始登录

      如果用户选择序号0 就提示用户退出成功

      如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入

  8. 开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:

    敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]

    则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中

  9. 有字符串"k: 1|k1 :2|k2:3  |k3 :4" 处理成字典 {‘k‘:1,‘k1‘:2,..}(升级题)

  10. 元素分类

    有如下值li= [11,22,33,44,55,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

    即: {‘k1‘: 大于66的所有值列表, ‘k2‘: 小于66的所有值列表}

  11. 输出商品列表,用户输入序号,显示用户选中的商品

    商品列表:

      goods = [{"name": "电脑", "price": 1999},

             {"name": "鼠标", "price": 10},

             {"name": "游艇", "price": 20},

             {"name": "美女", "price": 998},

    要求:

    1:页面显示 序号 + 商品名称 + 商品价格,如:

          1 电脑 1999

          2 鼠标 10

           …

    2:用户输入选择的商品序号,然后打印商品名称及商品价格

    3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。

    4:让用户输入一个金额,

    5:自己定义一个购物车,让用户选择要购买的内容存放到购物车中

    6:  用户输入Q或者q,显示购买的内容,然后退出程序,退出时打印当前用户剩余的金额

  12. 电影投票. 程序先给出?个目前正在上映的电影列表. 由用户给每?个电影投票. 最终将该用户投票信息公布出来

    要求:

        1,用户输入序号,进行投票。比如输入序号 1,给狗13投票1。

        2,每次投票成功,显示给哪部电影投票成功。

        3,退出投票程序后,要显示最终每个电影的投票数。

        

    lst = [ "狗13",‘肖申克救赎‘, ‘美国往事‘, ‘西西里的美丽传说‘]

    结果: {"狗"13: 88,‘‘肖申克救赎‘: 80, ‘美国往事‘: 6, ‘西西里的美丽传说‘: 23}

  13. .念数字给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)

    dic = {
        ‘-‘:‘负‘,
        ‘0‘:‘零‘,
        ‘1‘:‘一‘,
        ‘2‘:‘二‘,
        ‘3‘:‘三‘,
        ‘4‘:‘四‘,
        ‘5‘:‘五‘,
        ‘6‘:‘六‘,
        ‘7‘:‘七‘,
        ‘8‘:‘八‘,
        ‘9‘:‘九‘}

    运行结果:
    输入 234

    二三四

  14. 完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.

    随机数:

    from random import randint

    randint(0, 20) # 0 - 20 的随机数

  15. 牌区域划分, 现给出以下车. 根据?牌的信息, 分析出各省的车牌持有量. (升级题)

    cars = [‘鲁A32444‘,‘鲁B12333‘,‘京B8989M‘,‘?C49678‘,‘?C46555‘,‘沪 B25041‘.....]

    locals = {‘沪‘:‘上海‘, ‘黑‘:‘黑龙‘, ‘鲁‘:‘山‘, ‘鄂‘:‘湖北‘, ‘湘‘:‘湖南‘.....}

    结果: {‘黑龙‘:2, ‘山‘: 1, ‘北京‘: 1}

  16. 税务部门征收所得税. 规定如下: 

            1). 收入在5000以下的. 免征.

            2). 收入在5000-7000的, 超过2000部分要征收3%的税. 

            3). 收入在7000-9000的, 超过4000部分要征收5%的税.

            4). 收入在9000-15000的, 超过6000部分要征收8%的税.  

            4). 收入在20000以上的, 超过部分征收20%的税. 

        注, 如果一个人的收入是8000, 那么他要交5000到7000的税加上7000到9000的税. 

            收入 = 8000-(7000-5000)*3%-(7000-9000)*4%

    让用户输入它的工资, 计算最终用户拿到手是多少钱.

  17. 掉主播. 现有如下主播收益信息: zhubo = {‘卢本伟‘:122000, ‘冯提莫‘:189999, ‘金老‘: 99999, ‘小智‘: 25000000, ‘alex‘: 126}

    1. 计算主播平均收益值

    2. 干掉收益?于平均值的主播

    3. 干掉卢本伟

  18. HR 人力资源管理 .

    1. 菜单 : (" 查看员工信息 "," 添加员工信息 ", " 退出 ")

    2. 添加员工信息(使用函数实现) :

       用户输入员工的基本信息 (id, name, salary), 将员工信息写?到文件 emp.db 文件内

    3. 查看员工信息 :               

        显示出所有员工的基本信息 .     

        以上操作都需要围绕着 emp.db 来完成 .        

    示例:

    print("欢迎来到HR人力资源管理理系统")

    menu = ("查看员工信息", "添加员工信息", "修改员工信息", "删除员工信息", "退出")

 

以上是关于服务器root用户密码输错次数太多有啥影响的主要内容,如果未能解决你的问题,请参考以下文章

macbook密码多次错误锁定

使用默认用户/密码离开 phpmyadmin 有啥不安全的

Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定

#用户登陆(三次输错机会)且每次误时显示剩余错误次数(提示:使用字符串格式化)

python 循环和file操作实现用户密码输错三次将用户锁定

疑难杂症,逐个下药