經過Python 獲取Linux系統用戶的登陸信息

經過Python腳本實現用戶登入Linux的時候自動發郵件通知管理員
系統環境CentOS 7python

#!/usr/bin/env python
#coding:utf-8shell

#導入須要的庫,若是沒有自行安裝
import os
import smtplib
from email.mime.text import MIMEText
from email.header import Headerbash

#獲取須要的內容
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()ide

#郵箱認證信息編碼

mail_host='smtp.brightunity.com'spa

mail_user='bin.tan@brightunity.com'3d

mail_pass='XXXXXX'blog

#發送和接受者
sender = 'bin.tan@brightunity.com'
receivers = ['bin.tan@brightunity.com']utf-8

#郵件信息
message = MIMEText("""
<table color="CCCC33" width="800" border="1" cellspacing="0" cellpadding="5" text-align="center">
<tr>
<td>登陸用戶</td>
<td>登陸IP</td>
<td>登陸時間</td>
<td>登陸的shell環境</td>
</tr>
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
</table>""" % (Login_User,Login_Ip,Login_Time,Login_Shell),'HTML','utf-8')
message['from'] = Header('CentOS','utf-8') #發送者顯示名稱
message['To'] = Header('bin_mail','utf-8') #接收者顯示名稱ci

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
經過Python 獲取Linux系統用戶的登陸信息![]

實現的效果以下
經過Python 獲取Linux系統用戶的登陸信息

相關文章
相關標籤/搜索