发表:Built in Audit Trail Tool – Last Command in Linux

This commit is contained in:
wxy 2014-02-17 10:26:36 +08:00
parent b497dc121b
commit 9a03a7e86e

View File

@ -1,20 +1,21 @@
内置审计跟踪工具- Linux last命令
Linux内置审计跟踪工具 - last命令
================================================================================
![](http://linoxide.com/wp-content/uploads/2013/12/linux-last-command.jpg)
如果你是一个服务器管理员,你或许理解你要保护你的服务器。不仅是从外部还要从内部保护。linux有一个内置工具来看到最后登陆服务器的用户
如果你是一个服务器管理员,你或许知道你要保护你的服务器的话,不仅是从外部还要从内部保护。linux有一个内置工具来看到最后登陆服务器的用户,可以帮助你保护服务器。
这个命令是**last**。命令**对于追踪非常有用**。让我们来看一下last可以为你做些什么。
这个命令是**last**。**对于追踪非常有用**。让我们来看一下last可以为你做些什么。
### last命令的功能是什么 ###
**last**显示**/var/log/wtmp**文件创建起所有登录(和登出)的用户。这个文件是二进制文件,它不能被文本编辑器浏览比如vi,Joe或者其他软件。这个技巧非常聪明因为用户(或者root)不能向他们希望的那样修改文件文件。
**last**显示的是自**/var/log/wtmp**文件创建起所有登录(和登出)的用户。这个文件是二进制文件它不能被文本编辑器浏览比如vi、Joe或者其他软件。这是非常有用的因为用户(或者root)不能像他们希望的那样修改这个文件。
last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远程连接的话),日期-时间,用户已经登录的时间。
last会给出所有已登录用户的用户名、tty、IP地址(如果用户是远程连接的话)、日期-时间和用户已经登录的时间。
### 如何运行last ###
你只要在控制台中输入**last**.这是个例子:
你只要在控制台中输入**last**即可。这是个例子:
$ last
@ -22,18 +23,18 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
这里是如何阅读last信息:
这里是如何阅读last信息
- 第一列告诉谁是用户
- 第二列给出了用户如何连接的信息
> pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户
>
> tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户
>
> 除了重启活动,所有状态会在启动时显示
- pts/0 (伪终端) 意味着从诸如SSH或telnet的远程连接的用户
- tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户
- 除了重启活动,所有状态会在启动时显示
- 第三列**显示用户来自哪里**。如果用户来自于远程计算机,你会看到一个主机名或者IP地址。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接.除了重启活动,内核版本会显示在状态中。
- 第三列**显示用户来自哪里**。如果用户来自于远程计算机你会看到一个主机名或者IP地址。如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。除了重启活动,内核版本会显示在状态中。
- 剩下的列显示**日志活动发生在何时**。括号中的数字告诉我们连接持续了多少小时和分钟。
### 日常操作中last的一些示例 ###
@ -48,11 +49,11 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
pungki tty1 Mon Dec 2 09:31 still logged in
reboot system boot 2.6.32-358.23.2 Mon Dec 2 09:20 - 13:25 (04:05)
**-n parameter** 会使last显示从当前时间到以后的3条记录。
**-n** 参数会使last显示从当前时间到以后的3条记录。
#### 不显示主机名 ####
使用 **-R parameter** 来这么做。这里是例子 :
使用 **-R** 参数来这么做。这里是例子 :
$ last -R
@ -64,7 +65,7 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
#### 最后一列显示主机名 ####
要这么做,我们使用 **-a parameter**
要这么做,我们使用 **-a**参数
$ last -a
@ -76,7 +77,7 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
#### 显示完整登入登出时间日期 ####
对于此,你可以使用 **-F parameter**。这个是个示例:
对于此,你可以使用 **-F** 参数。这个是个示例:
$ last -F
@ -91,7 +92,7 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
leni tty1 Mon Dec 2 18-42 still logged in
leni pts/0 Mon Dec 2 12:32 - 13:25 (00:53) 10.0.76.162
或者你想要知道**reboot**何时完成,你也可以这样显示它
或者你想要知道**reboot**何时完成,你也可以这样显示它:
$ last reboot
@ -103,6 +104,7 @@ last会给出所有已登录用户的用户名,tty,IP地址(如果用户是远
#### 打印特定 / pts ####
last同样可以打印特定tty/pts的信息. 只要在last命令后面输入tty名字或者pty名字。
这里有一些例子:
$ last tty1
@ -121,13 +123,13 @@ last同样可以打印特定tty/pts的信息. 只要在last命令后面输入tty
#### 使用另一个文件而不是 /var/log/wtmp ####
默认上,last命令会从**/var/log/wtmp**中解析信息。如果你想要**last命令**从另外一个文件解析,你可以使用**-f参数**。比如,你可以在某些条件后倒换日志。让我们假设前面的文件名为**/var/log/wtmp.1**。那么last命令会像这样。
默认上last命令会从**/var/log/wtmp**中解析信息。如果你想要**last命令**从另外一个文件解析,你可以使用**-f** 参数。比如,当日志切割后,让我们假设切割后,之前的文件名变为**/var/log/wtmp.1**。那么last命令会像这样。
$ last -f /var/log/wtmp.1
#### 显示运行级别改变 ####
这里有个**-x 参数**如果你想要改变运行级别。这里示例输出:
这里有个**-x**参数来显示运行级别。这里示例输出:
pungki tty1 Mon Dec 2 19:21 still logged in
runlevel (to lvl 3) 2.6.32-358.23.2 Mon Dec 2 19:20 19:29 (00:08)
@ -136,20 +138,20 @@ last同样可以打印特定tty/pts的信息. 只要在last命令后面输入tty
runlevel (to lvl 0) 2.6.32-358.23.2 Mon Dec 2 18:56 18:56 (00:00)
leni tty1 Mon Dec 2 18:42 down (00:00)
你可以看到这里有两个运行级别。运行级别**to lvl 3**的条目意味着系统运行在完整的控制台模式.没有活跃的X window或者GUI.同时,当系统**关机**时,Linux在**运行级别0**。这就是为什么last会显示**to lvl 0**。
你可以看到这里有两个运行级别。运行级别**to lvl 3**的条目意味着系统运行在完整的控制台模式而没在X window或者GUI中。同时,当系统**关机**时,实际上是切换为**运行级别0**这就是为什么last会显示**to lvl 0**。
#### 查看失败登录 ####
当**last**命令记录成功登录,那么 **lastb** 命令**记录失败的登录尝试**。你**必须拥有root**权限来运行lastb命令。这里有一个lastb命令的示例输出。lastb会解析/var/log/btmp的信息。
**last**命令用了记录成功登录,而 **lastb** 命令**记录失败的登录尝试**。你**必须拥有root**权限才能运行lastb命令。这里有一个lastb命令的示例输出。lastb会解析/var/log/btmp的信息。
# lastb
leni tty1 Mon Dec 2 22:12 22:12 (00:00)
rahma tty1 Mon Dec 2 22:11 22:11 (00:00)
#### 倒换日志 ####
#### 切割日志 ####
既然*/var/log/wtmp**记录每次的登录活动,文件的大小可能会快速地增长。默认上,Linux会每月**倒换 /var/log/wtmp/**。倒换活动的细节放在/etc/logrotate.conf 文件中。这里是我**/etc/logrotate.conf**文件的内容。
因为*/var/log/wtmp**记录每次的登录活动文件的大小可能会快速地增长。默认上Linux会每月**切割 /var/log/wtmp/**。切割的策略放在/etc/logrotate.conf 文件中。这里是我**/etc/logrotate.conf**文件的内容。
/var/log/wtmp {
  monthly
@ -168,6 +170,8 @@ last同样可以打印特定tty/pts的信息. 只要在last命令后面输入tty
  rotate 1
}
你可以根据需要自己修改。
### 总结 ###
你可以结合这些参数来自定义last和lastb的输出。所有可以**运行于last命令**的参数都**可运行在**lastb命令上。更多细节,请通过在控制台输入**man last**来访问。
@ -176,6 +180,6 @@ last同样可以打印特定tty/pts的信息. 只要在last命令后面输入tty
via: http://linoxide.com/linux-command/linux-last-command/
译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID)
译者:[geekpi](https://github.com/geekpi) 校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出