服务器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.分别判断用户名和密码,如果用户名错误就提示用户错误,如果是密码错误就提示是密码错误.在输入账号和密码时候不区分大小写
3.使用格式化输出来提示用户所剩余的次数
4.用户输入正确就提示’输入正确’,并结束循环
-
实现一个整数加法计算器(多个数相加):
如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。
-
写代码,完成下列需求:(升级题)
用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大路回家,然后在让用户进一步选择:
是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小路回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择:
是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。
-
判断?句话是否是回文. 回文: 正着念和反着念是一样的. 例如, 上海自来水来自海上(升级题)
-
输??个字符串,要求判断在这个字符串中大写字符,小写字符,数字, 其它字符共出现了多少次,并输出出来
-
首先让用户输入序号选择格式如下:
0.退出
1.开始登录
如果用户选择序号0 就提示用户退出成功
如果用户选择序号1就让用户输入用户名密码然后进行判断,正确就终止循环,错误重新输入
-
开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中
-
有字符串"k: 1|k1 :2|k2:3 |k3 :4" 处理成字典 {‘k‘:1,‘k1‘:2,..}(升级题)
-
元素分类
有如下值li= [11,22,33,44,55,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1‘: 大于66的所有值列表, ‘k2‘: 小于66的所有值列表}
-
输出商品列表,用户输入序号,显示用户选中的商品
商品列表:
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,显示购买的内容,然后退出程序,退出时打印当前用户剩余的金额
-
电影投票. 程序先给出?个目前正在上映的电影列表. 由用户给每?个电影投票. 最终将该用户投票信息公布出来 。
要求:
1,用户输入序号,进行投票。比如输入序号 1,给狗13投票1。
2,每次投票成功,显示给哪部电影投票成功。
3,退出投票程序后,要显示最终每个电影的投票数。
lst = [ "狗13",‘肖申克救赎‘, ‘美国往事‘, ‘西西里的美丽传说‘]
结果: {"狗"13: 88,‘‘肖申克救赎‘: 80, ‘美国往事‘: 6, ‘西西里的美丽传说‘: 23}
-
.念数字给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号. 然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)
dic = {
‘-‘:‘负‘,
‘0‘:‘零‘,
‘1‘:‘一‘,
‘2‘:‘二‘,
‘3‘:‘三‘,
‘4‘:‘四‘,
‘5‘:‘五‘,
‘6‘:‘六‘,
‘7‘:‘七‘,
‘8‘:‘八‘,
‘9‘:‘九‘}
运行结果:
输入 234二三四
-
完成彩票36选7的功能. 从36个数中随机的产生7个数. 最终获取到7个不重复的数据作为最终的开奖结果.
随机数:
from random import randint
randint(0, 20) # 0 - 20 的随机数
-
车牌区域划分, 现给出以下车牌. 根据?牌的信息, 分析出各省的车牌持有量. (升级题)
cars = [‘鲁A32444‘,‘鲁B12333‘,‘京B8989M‘,‘?C49678‘,‘?C46555‘,‘沪 B25041‘.....]
locals = {‘沪‘:‘上海‘, ‘黑‘:‘黑龙江‘, ‘鲁‘:‘山东‘, ‘鄂‘:‘湖北‘, ‘湘‘:‘湖南‘.....}
结果: {‘黑龙江‘:2, ‘山东‘: 1, ‘北京‘: 1}
-
税务部门征收所得税. 规定如下:
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%
让用户输入它的工资, 计算最终用户拿到手是多少钱.
-
干掉主播. 现有如下主播收益信息: zhubo = {‘卢本伟‘:122000, ‘冯提莫‘:189999, ‘金老板‘: 99999, ‘小智‘: 25000000, ‘alex‘: 126}
1. 计算主播平均收益值
2. 干掉收益?于平均值的主播
3. 干掉卢本伟
-
HR 人力资源管理 .
1. 菜单 : (" 查看员工信息 "," 添加员工信息 ", " 退出 ")
2. 添加员工信息(使用函数实现) :
用户输入员工的基本信息 (id, name, salary), 将员工信息写?到文件 emp.db 文件内
3. 查看员工信息 :
显示出所有员工的基本信息 .
以上操作都需要围绕着 emp.db 来完成 .
示例:
print("欢迎来到HR人力资源管理理系统")
menu = ("查看员工信息", "添加员工信息", "修改员工信息", "删除员工信息", "退出")
以上是关于服务器root用户密码输错次数太多有啥影响的主要内容,如果未能解决你的问题,请参考以下文章
Python实现简单的用户登录信息确认,密码输错3次后,用户被锁定
#用户登陆(三次输错机会)且每次误时显示剩余错误次数(提示:使用字符串格式化)