檢測到有人登錄到linux,mysql,ftp,就發郵件通知管理員
最近老板總感覺有人能登錄到公司的linux系統,我排查了半天也沒有找到任何蛛絲馬跡,幹脆設置一個陷阱,等著那個人往裏走
【1】使用sendmail搭建簡單郵件服務器
第一步:安裝sendmail並啟動服務
yum -y install sendmail
/etc/init.d/sedmial start
第二步:修改mail的配置文件,即在/etc/mail.rc最後添加下面內容
set from=郵箱地址,[email protected]
set smtp=smtp地址
set smtp-auth-user=郵箱登錄名
set smtp-auth-password=郵箱登錄密碼
set smtp-auth=login
這是配置中介郵件服務器,發送郵件,可以通過中介服務器(可以是任何郵箱,比如新浪,搜狐,qq等郵箱),把郵件發送到指定的郵箱
下面是參考
第三步:測試
echo ‘test’ | mail -s ‘郵件標題’ 郵箱
比如
echo ‘有人正在登錄郵箱,請查看‘ | mail -s ‘linux_login‘ [email protected]
【2】登錄linux,發送郵件
原理:用戶只要登錄,/etc/profile.d目錄下面所有的腳本都會執行一遍,所以可以在這個目錄下建立一個shell腳本,腳本內容如下
#郵件又是會發不出去,所以要把發送結果賦值給變量jie jie=$(who|mail -s ‘liunx_login‘ [email protected] 2>&1) count=1 #如果jie=‘‘,就表示郵件發出去了,就不需要在發了,反之,如果jie !=‘‘,就表示需要重新發送 while [ "$jie" != ‘‘ ] do #循環裏面如果郵件一直發送不出去,就會阻擋用戶登錄linux系統,所以在嘗試6次之後,郵件還是發不出去,就不要再發了,這是可以在本地寫一份文件,記錄一下 if [ $count -gt 7 ] then who >> /tmp/login/liux_login_info break fi ((count++)) jie=$(who|mail -s ‘liunx_login‘ [email protected]