1.查看成功登录日志
# 日志位于 /var/log/wtmp ,单独执行last指令时,它会读取位于/var/log/wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。
last
第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)
第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot
第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作
第四列信息:开始时间,其中的日期格式为date +"%a %b %d"
第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
第六列信息:持续时间last命令的参数补充说明(以下参数同样合适lastb命令):
参 数:-a 把从何处登入系统的主机名称或IP地址,显示在最后一行;
-d 将IP地址转换成主机名称。当用户从远端而非本地主机登入系统时,所记录的将不仅是主机名称,还包括该远端主机的IP地址。默认情况下会用IP地址来显示远端的主机,使用这项参数可将其换成主机名称;
-f 指定记录文件。预设last指令会去读取/var/log目录里的btmp文件;
-n 设置列出名单的显示列数,如果你只想查询最后登入系统的10位用户名称,可将显示列数设成"10", 想查询最后的30位用户,则设为"30",依此类推;
-R 不显示登入系统的主机名称或IP地址;
-x 可显示系统关机、重新开机,以及执行等级的改变等信息。
2.查看失败登录日志
# 单独执行lastb指令,它会读取位于/var/log/btmp的文件,并把该文件内容记录的登入系统失败的用户名单,全部显示出来。
lastb
- -a 把从何处登入系统的主机名称或IP地址显示在最后一行。
- -d 将IP地址转换成主机名称。
- -f<记录文件> 指定记录文件。
- -n<显示列数>或-<显示列数> 设置列出名单的显示列数。
- -R 不显示登入系统的主机名称或IP地址。
- -x 显示系统关机,重新开机,以及执行等级的改变等信息。
3.清除登录日志
注意:此命令会清空/var/log下大多数敏感日志,如果需要保留,请选择性清。
#!/bin/bash
echo > /var/log/btmp #清除登录系统失败的记录
rm -f /var/log/btmp.*
echo > /var/log/wtmp #清除成功登录系统的记录
rm -f /var/log/wtmp.*
echo > /var/log/faillog
rm -f /var/log/faillog.*
echo > /var/log/lastlog
rm -f /var/log/lastlog.*
echo > /var/log/syslog #清除日志
rm -f /var/log/syslog.*
echo > /var/log/tallylog
rm -f /var/log/tallylog.*
echo > /var/log/auth.log
rm -f /var/log/auth.log.*
echo > /var/log/alternatives.log
rm -f /var/log/alternatives.log.*
echo > /var/log/apport.log
rm -f /var/log/apport.log.*
echo > /var/log/bootstrap.log
rm -f /var/log/bootstrap.log.*
echo > /var/log/dmesg
rm -f /var/log/dmesg.*
echo > /var/log/dpkg.log
rm -f /var/log/dpkg.log.*
echo > /var/log/faillog
rm -f /var/log/faillog.*
echo > /var/log/kern.log
rm -f /var/log/kern.log.*
echo > /var/log/kern.log
rm -f /var/log/kern.log.*
history -c #清除历史命令