linux用户登录日志
阅读数:51 评论数:0
跳转到新版页面分类
Linux
正文
一、简介
该命令用来列出目前与过去登录系统的用户相关信息。
执行last指令时,它会读取位于/var/log目录下名称*tmp文件,默认是显示wtmp的记录,btmp能显示的更详细。
1、utmp wtmp btmp
tmp是temporary,u表示user,w表示who,b表示bad。
(1)utmp文件中保存的是当前正在本系统中的用户的信息,可以使用who或w命令查看当前登录用户的信息
(2)wtmp文件中保存的登录过本系统的用户的信息,可以使用last命令查看
(3)btmp文件中保存失败的登录尝试信息,可以使用lastb命令查看。
二、lastlog命令
列出所有用户最近登录的信息,或者指定用户的最近登录信息。lastlog引用的是/var/log/lastlog文件中的信息。
lzx-clone1:/var/log # lastlog
Username Port Latest
root pts/1 Wed Oct 19 14:37:46 +0800 2016
bin **Never logged in**
daemon **Never logged in**
gdm **Never logged in**
admin **Never logged in**
lzx pts/3 Wed Oct 19 15:15:24 +0800 2016
三、last命令
last默认读取的是/var/log/wtmp文件的信息。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp、/var/log/utmp。
1、输出字段介绍
root pts/0 42.184.4.17 Fri Nov 19 09:06 still logged in
root pts/0 42.184.4.17 Thu Nov 18 15:35 - 20:07 (04:32)
第一列:用户名
第二列:终端位置,pts/0(伪终端)意味着从诸如ssh或telnet的远程连接的用户,tty(teletypewriter)意味着直连到计处机或者本地连接的用户。
第三列:登录ip或者内核。
第四列:开始时间
第五列:结束时间(still login in表示还未退出,down表示直到正常关机,crash表示直到强制关机)
第六列:持续时间
2、命令语法
last [-R] [-num] [ -n num ] [-adiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...] [tty...]
参数 |
描叙 |
-a |
将登录系统的的主机名称或IP地址,显示在最后一行 |
-d |
将IP地址转换成主机名称 |
-f |
指定记录文件,默认是显示/var/log目录下的wtmp文件的记录,但/var/log目录下得btmp能显示的内容更丰富,可以显示远程登录,例如ssh登录 ,包括失败的登录请求。 |
-i |
-i显示特定ip登录的情况。跟踪用 -i显示特定ip登录的情况。跟踪用 |
-o |
Read an old-type wtmp file (written by linux-libc5 applications). |
-n |
-n <显示行数>或-<显示行数> 设置显示多少行记录 |
-w |
Display full user and domain names in the output |
-R |
不显示登入系统的主机名称或IP(省略 hostname 的栏位) |
-t |
显示YYYYMMDDHHMMSS之前的信息 |
-x |
显示系统关闭、用户登录和退出的历史 |
四、lastb命令
列出失败尝试的登陆信息,它默认读取的是/var/log/btmp文件。
五、ac命令
输出所有用户总的连接时间,默认单位是小时。由于ac是基于wtmp统计的,所以修改或者删除wtmp文件都会使ac的结果受影响。
六、who命令
查看当前登入系统的用户信息。其中who -m等效于who am i。
who命令强大的一点是,它既可以读取utmp文件也可以读取wtmp文件,默认没有指定FILE参数时,who查询的是utmp的内容。当然可以指定FILE参数,比如who -aH /var/log/wtmp,则此时查看的是wtmp文件。
七、w命令
查看当前登入系统的用户信息及用户当前的进程(而who命令只能看用户不能看进程)。
w的信息来自两个文件:用户登录信息来自/var/run/utmp,进程信息来自/proc/.
八、users命令
显示当前正在登入统的用户名。语法是users [OPTION]... [FILE]。如果未指定FILE参数则默认读取的是/var/run/utmp,当然也可以指定通用相关文件/var/log/wtmp,此时输出的就不是当前用户了。
九、utmpdump命令
utmpdump用于转储二进制日志文件到文本格式的文件以便查看,同时也可以修改二进制文件!!包括/var/run/utmp、/var/log/wtmp、/var/log/btmp。语法为:utmpdump [options] [filename]。修改文件实际就可以抹除系统记录,所以一定要设置好权限,防止非法入侵。
例子:修改utmp或wtmp。由于这些都是二进制日志文件,你不能像编辑文件一样来编辑它们。取而代之是,你可以将其内容输出成为文本格式,并修改文本输出内容,然后将修改后的内容导入回二进制日志中。如下:
utmpdump /var/log/utmp > tmp_output.txt #导出文件信息
#<使用文本编辑器修改 tmp_output.txt>
utmpdump -r tmp_output.txt > /var/log/utmp #导入到源文件中