linux登录日志 /var/log/secure (root用户可以删除该文件)
日志对于安全非常重要,记录了系统每天发生的各种事情,通过日志检查错误发生的原因,或者攻击后留下的痕迹。所有日志记录的信息都包含时间戳。
日志功能主要有:审计和检测。可以实时检测系统状态,检测和追踪入侵者。
linux系统中,三个主要的日志子系统:
连接时间日志---由多个程序执行,把把记录写到/var/log/wtmp和/var/log/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够追踪到谁在何时登录系统
进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct和acct)中写入一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志,像HTTP和FTP这样提供网路服务的服务的服务器也保持详细的日志。
常用的日志文件如下:
access-log 记录HTTP/web的传输
xferlog 几路FTP会话
acct/pacct 记录用户命令
messages 从syslog中记录信息(有的链接到syslog文件)
aculog 记录MODEM的活动
sudolog 记录sudo发出的命令
sulog 记录su命令的使用,记录在/var/log/secure中
syslog 从syslog中记录信息(通常链接到messages文件)
lastlog 记录最近几次成功登录的事件和最后一次不成功的登录
utmp 记录当前登录的每个用户
wtmp 一个用户每次登录进入和退出时间的永久记录,包括数据交换、关机重启信息
btmp 记录失败的记录
utmp、wtmp和lastlog入职文件是多数重用UNIX日志子系统的关键--保持用户登录和退出的记录。
wtmp文件可以无限增长,除非定期截取,通常在大量用户的系统中增长十分迅速。许多系统以一天或者一周为单位对wtmp配置成循环使用。通常由cron运行的脚本来修改,重新命名wtmp文件(加时间后缀名),从而可以循环使用wtmp文件。
每次有一个用户登录时,login程序在lastlog文件中查看用户的UID。如果找到,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中记录新的登录时间。在新的lastlog记录写入后,utmp文件打开并插入用户utmp记录。该记录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who/w/users/finger。
另外login程序打开wtmp文件,将utmp记录追加到wtmp文件中,当用户退出时,具有跟新时间戳的同一utmp记录追加到wtmp文件中。wtmp文件被last/ac使用。
具体命令:
wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴合并甚至打开。用户需要使用who/w/users/last/ac命令来调用信息。
who: 查询utmp文件并报告当前登录的每个用户信息。who的标准输出格式包括:用户名、终端类型、登录日期和远程主机ip。who /var/log/wtmp 则会把自从wtmp文件创建或删改以来的每次登录(和last作用类似,很少使用)。
[root@python02 log]# who
transfor pts/0 2015-09-24 06:45 (122.10.70.66)
transfor pts/1 2015-09-25 01:01 (122.10.70.66)
transfor pts/2 2015-09-25 02:24 (122.10.70.66)
w: 查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。例如:
[root@python02 log]# w
06:15:32 up 13 days, 7:10, 4 users, load average: 0.57, 0.47, 0.43
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
transfor pts/0 Thu06 23:45m 0.54s 0.11s sshd: transfor [priv]
users: 用单独的一行打印出当前登录用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个的登录会话,那显示那个用户名相同的次数。
[root@python02 log]# users
transfor transfor transfor transfor
last: 往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。
[root@python02 log]# last
transfor pts/3 122.10.70.66 Fri Sep 25 09:41 still logged in
transfor pts/3 122.10.70.66 Fri Sep 25 09:19 - 09:28 (00:08)
transfor pts/3 122.10.70.66 Fri Sep 25 02:56 - 03:34 (00:38)
transfor pts/2 122.10.70.66 Fri Sep 25 02:24 still logged in
transfor pts/1 122.10.70.66 Fri Sep 25 01:01 still logged in
transfor pts/1 122.10.70.66 Thu Sep 24 06:56 - 23:06 (16:09)
transfor pts/0 122.10.70.66 Thu Sep 24 06:45 still logged in
transfor pts/0 122.10.70.66 Wed Sep 23 03:52 - 21:35 (17:42)
transfor pts/0 122.10.70.66 Sat Sep 19 02:32 - 06:20 (03:47)
transfor pts/2 122.10.70.66 Thu Sep 17 05:48 - 22:55 (1+17:06)
transfor pts/1 122.10.70.66 Thu Sep 17 05:25 - 22:55 (1+17:29)
linux查看相应日志:
#less /var/log/secure
#less /var/log/messages