linux脚本登录启动失败,在Linux上检查用户登录成功与失败的shell脚本
在Linux上检查用户登录成功与失败的shell脚本
Linux管理员的典型任务之一是检查Linux系统中成功和失败的登录尝试。
手动验证它们非常困难,因为“ /var/log/secure”文件的输出看起来很尴尬。
为了使此操作更轻松,更有效,我们需要编写一个bash脚本。
是的,您可以使用以下Bash脚本实现此目的。
这些脚本将显示给定日期登录系统的用户数。此外,它显示成功的登录尝试和失败的登录尝试。
第一个外壳脚本允许您验证“ /var/log/secure”文件中可用日期的用户访问信息。
第二个shell脚本允许您每天发送包含用户访问信息的邮件。
方法1:在Linux上检查用户登录成功与失败的Shell脚本
该脚本使您可以从终端验证给定日期的用户访问信息。
# vi /opt/scripts/user-access-details.sh
#!/bin/bash
echo ""
echo -e "Enter the Date, Use Double Space for date from 1 to 9 (Nov 3) and use Single Space for date from 10 to 31 (Nov 30): c"
read yday
MYPATH=/var/log/secure*
tuser=$(grep "$yday" $MYPATH | grep "Accepted|Failed" | wc -l)
suser=$(grep "$yday" $MYPATH | grep "Accepted password|Accepted publickey|keyboard-interactive" | wc -l)
fuser=$(grep "$yday" $MYPATH | grep "Failed password" | wc -l)
scount=$(grep "$yday" $MYPATH | grep "Accepted" | awk '{print $9;}' | sort | uniq -c)
fcount=$(grep "$yday" $MYPATH | grep "Failed" | awk '{print $9;}' | sort | uniq -c)
echo "--------------------------------------------"
echo " User Access Report on: $yday"
echo "--------------------------------------------"
echo "Number of Users logged on System: $tuser"
echo "Successful logins attempt: $suser"
echo "Failed logins attempt: $fuser"
echo "--------------------------------------------"
echo -e "Success User Details:n $scount"
echo "--------------------------------------------"
echo -e "Failed User Details:n $fcount"
echo "--------------------------------------------"
将可执行的Linux文件权限设置为“ user-access-details-1.sh”文件。
#chmod +x /opt/scripts/user-access-details-1.sh
运行脚本时,您将收到类似以下的警报。
# sh /opt/scripts/user-access-details.sh
Enter the Date, Use Double Space for date from 1 to 9 (Nov 3) and use Single Space for date from 10 to 31 (Nov 30): Nov 6
------------------------------------------
User Access Report on: Nov 6
------------------------------------------
Number of Users logged on System: 1
Successful logins attempt: 1
Failed logins attempt: 0
------------------------------------------
Success User Details:
1 root
------------------------------------------
Failed User Details:
------------------------------------------
运行脚本时,您将收到类似以下的警报。
# sh /opt/scripts/user-access-details.sh
Enter the Date, Use Double Space for date from 1 to 9 (Nov 3) and use Single Space for date from 10 to 31 (Nov 30): Nov 30
------------------------------------------
User Access Report on: Nov 30
------------------------------------------
Number of Users logged on System: 20
Successful logins attempt: 14
Failed logins attempt: 6
------------------------------------------
Success User Details:
1 daygeek
1 root
3 u1
4 u2
1 u3
2 u4
2 u5
------------------------------------------
Failed User Details:
3 u1
3 u4
------------------------------------------
方法2:使用shell脚本通过电子邮件警报检查成功和失败的用户登录尝试。
该shell脚本允许您每天通过电子邮件发送包含用户访问详细信息的邮件,以获取昨天的日期。
# vi /opt/scripts/user-access-details-2.sh
#!/bin/bash
/tmp/u-access.txt
SUBJECT="User Access Reports on "date""
MESSAGE="/tmp/u-access.txt"
TO="daygeek@gmail.com"
MYPATH=/var/log/secure*
yday=$(date --date='yesterday' | awk '{print $2,$3}')
tuser=$(grep "$yday" $MYPATH | grep "Accepted|Failed" | wc -l)
suser=$(grep "$yday" $MYPATH | grep "Accepted password|Accepted publickey|keyboard-interactive" | wc -l)
fuser=$(grep "$yday" $MYPATH | grep "Failed password" | wc -l)
scount=$(grep "$yday" $MYPATH | grep "Accepted" | awk '{print $9;}' | sort | uniq -c)
fcount=$(grep "$yday" $MYPATH | grep "Failed" | awk '{print $9;}' | sort | uniq -c)
echo "--------------------------------------------" >> $MESSAGE
echo " User Access Report on: $yday" >> $MESSAGE
echo "--------------------------------------------" >> $MESSAGE
echo "Number of Users logged on System: $tuser" >> $MESSAGE
echo "Successful logins attempt: $suser" >> $MESSAGE
echo "Failed logins attempt: $fuser" >> $MESSAGE
echo "--------------------------------------------" >> $MESSAGE
echo -e "Success User Details:n $scount" >> $MESSAGE
echo "--------------------------------------------" >> $MESSAGE
echo -e "Failed User Details:n $fcount" >> $MESSAGE
echo "--------------------------------------------" >> $MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE
将可执行权限设置为“ user-access-details-2.sh”文件。
#chmod +x /opt/scripts/user-access-details-2.sh
最后添加一个cronjob以使其自动化。它将每天8点运行。
# crontab -e
0 8 * * * /bin/bash /opt/scripts/user-access-details-2.sh
注意:每天8点您将收到一封电子邮件警报,用于提醒前一天的用户访问信息。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
linux脚本登录启动失败,在Linux上检查用户登录成功与失败的shell脚本相关推荐
- Web上的用户登录功能安全
转载自:http://www.daimami.com/web/217218.htm 你会做Web上的用户登录功能吗? Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后, ...
- linux中检测用户信息的命令是,在Linux系统上检查用户所属组
Linux 管理员经常进行的一项操作之一:那就是把用户添加到现有组,这是在一些大环境工作的 Linux 管理员日常经常从事的操作之一,所以经常会在 Linux 系统上检查用户所属组,本文就来谈谈这方面 ...
- 实现Web上的用户登录功能
https://coolshell.cn/articles/5353.html Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做 ...
- web上的用户登录功能
Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能.下面 的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个 ...
- 你会做Web上的用户登录功能吗?
你会做Web上的用户登录功能吗? 2011年8月25日 陈皓 Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能 ...
- Web上的用户登录功能——酷壳_陈皓
为什么80%的码农都做不了架构师?>>> Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能. ...
- [转]你会做Web上的用户登录功能吗?
Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能.下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关 ...
- Android启动过程中执行一个C语言的应用程序或者执行shell脚本
Android启动过程中执行一个C语言的应用程序或者执行shell脚本 一.Android启动过程中去对系统做一些设置,如修改某些文件夹的属性和文件的权限,可在init.rc中增加service执行s ...
- 如何在redhat8里使用gcc命令_如何使用who命令检查用户登录信息
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本教程主要介绍如何使用who命令检查用户登录信息. 如 ...
最新文章
- R语言ggplot2包旋转(Rotate)可视化图像轴标签实战
- 2.1顺序表(链表)
- Inside Dynamics Axapta源代码赏析(五)
- 在php中源代码怎么查看,查看PHP Closure的源代码
- matlab基于dct的图像压缩编码解码_音频压缩编码的基本原理详解
- 当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性
- hive sql 报错后继续执行_Hive迁移Presto在OPPO的实践
- MySQL Server 安装失败
- 算法笔记_二分查找/斐波那契查找
- java 学习资料总结
- excel替换快捷键_excel怎样查找替换 excel查找替换快捷键,看完你学会了么
- web展示萤石云视频
- LeetCode每日一题495. 提莫攻击
- 图像去雾,利用《bringing old photos back to life》 训练并修改
- pandas DataFrame的xs用法
- android 市场 历史版本,安卓市场旧版本
- 微信小程序使用qrcode生成二维码(可用于微信收款)
- git删除未监视的文件(untracked files)命令用法
- 育儿-《让孩子远离焦虑》书中的精髓:家长如何帮助孩子解决他们自身的焦虑问题。
- 联发科和麒麟哪个比较好