3 尝试输入错误的 Root 密码 --> 注销

3 尝试输入错误的 Root 密码 --> 注销

我能否实现一个协议,这样如果您 3 次输入错误的 root 密码,则不允许再次尝试,直到重新启动计算机?或者甚至关闭计算机然后向所有者发送电子邮件,告知有人试图以 root 身份登录 3 次?

答案1

视情况而定!如果您的登录欢迎程序遵守 pam.d common-auth 文件中的内容,那么您可以...

打开您的 common-auth 文件进行编辑sudo nano /etc/pam.d/common-auth。在最顶部添加以下两行。

auth    required    pam_tally.so    onerr=fail deny=3
account required    pam_tally.so    reset

(对于 common-auth 可能有更好的配置选项,但是这个似乎有效;如果有人可以改进我愿意进行编辑)

要在重启时重置帐户锁,请使用以下命令编辑 root 的 crontabsudo crontab -e并在底部添加以下行:

@reboot /usr/bin/faillog -a -r

如果您想发送电子邮件,那么最好制作一个在启动时运行的脚本(通过 root 的 crontab)来完成您想要的一切,而不是使用 root 的 crontab 运行上述命令。该脚本看起来类似于以下内容...

#!/bin/bash

# Do check to see if specific account is locked
user=NAME_OF_ACCT_TO_CHECK
failCount=$(faillog -u $user | grep -P "^$user" | awk '{print $2}')

if [ $failCount -ge 3 ]; then
# send your email
# do whatever else you want to do when account is locked
fi

# reset counts
faillog -a -r

相关内容