python实现登录抓取_通过Python 获取Linux系统用户的登录信息

通过Python脚本实现用户登入Linux的时候自动发邮件通知管理员

系统环境CentOS 7

#!/usr/bin/env python

#coding:utf-8

#导入需要的库,如果没有自行安装

import os

import smtplib

from email.mime.text import MIMEText

from email.header import Header

#获取需要的内容

reslut = os.popen("w").read()

Login_User = os.popen("w | awk 'END {print $1}'").read() #获取最后一行的第一列

TTY = os.popen("w | awk 'END {print $2}'").read()

Login_Ip = os.popen("w | awk 'END {print $3}'").read()

Login_Time = os.popen("w | awk 'END {print $4}'").read()

Login_Shell = os.popen("w | awk 'END {print $8}'").read()

#邮箱认证信息

mail_host='smtp.brightunity.com'

mail_user='bin.tan@brightunity.com'

mail_pass='XXXXXX'

#发送和接受者

sender = 'bin.tan@brightunity.com'

receivers = ['bin.tan@brightunity.com']

#邮件信息

message = MIMEText("""

登录用户

登录IP

登录时间

登录的shell环境

%s

%s

%s

%s

""" % (Login_User,Login_Ip,Login_Time,Login_Shell),'HTML','utf-8')

message['from'] = Header('CentOS','utf-8') #发送者显示名称

message['To'] = Header('bin_mail','utf-8') #接收者显示名称

subject = '用户%s从%s登录'%(Login_User,Login_Ip) #邮件主题

message['Subject'] = Header(subject,'utf-8') #定义编码

#发送邮件

try:

smtpObj = smtplib.SMTP('')

smtpObj.connect(mail_host,25)

smtpObj.login(mail_user,mail_pass)

smtpObj.sendmail(sender,receivers,message.as_string())

print ("登录成功")

except smtplib.SMTPException:

pring ("Error: 登录失败")

写好脚本之后,用户登录的时候自动执行语句,这里通过更改配置文件 bashrc实现

vi ~./bashrc

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=![]

实现的效果如下

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值