天天看點

Linux系統日志管理:(1)連接配接時間日志

Linux作業系統中有三種主要的日志子系統:

(1)連接配接時間日志

(2)程序統計日志

(3)系統和服務日志

連接配接時間日志和程序統計日志由rsyslog(舊版是syslog)日志服務驅動,系統和服務日志由相對應的網絡服務驅動和管理;

連接配接時間日志

  連接配接時間日志由/var/run/utmp和/var/log/wtmp兩個檔案記錄,系統自動更新;這兩個檔案不能通過cat指令來檢視,但是可以通過w/who/ac/finger/last/lastlog等指令檢視。(關于/var/run/utmp的字段定義放在/usr/include/utmp.h中,有興趣可以仔細研究一下)

w/who/ac/finger指令主要是讀取/var/run/utmp檔案資訊,看下面的示例

(1)w指令

1

2

3

4

5

6

7

8

9

10

11

12

13

<code># w -help</code>

<code>w: invalid option -- </code><code>'e'</code>

<code>usage: w -hlsufV [user]</code>

<code>    </code><code>-h    skip header</code>

<code>    </code><code>-l    long listing (default)</code>

<code>    </code><code>-s    short listing</code>

<code>    </code><code>-u    ignore uid of processes</code>

<code>    </code><code>-f    toggle FROM field (default on)</code>

<code>    </code><code>-V    display version</code>

<code># w</code>

<code> </code><code>21:48:53 up 36 days, 18:04,  1 user,  load average: 0.00, 0.00, 0.00</code>

<code>USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT</code>

<code>yucz     pts</code><code>/1</code>    <code>116.6.101.193    21:16    0.00s  0.01s  0.00s sshd: yucz [priv]</code>

(2)who指令顯示目前登用使用者

14

15

16

17

18

19

20

21

22

23

<code># who --help</code>

<code>Usage: </code><code>who</code> <code>[OPTION]... [ FILE | ARG1 ARG2 ]</code>

<code>Print information about </code><code>users</code> <code>who</code> <code>are currently logged </code><code>in</code><code>.</code>

<code>  </code><code>-a, --all         same as -b -d --login -p -r -t -T -u</code>

<code>  </code><code>-b, --boot        </code><code>time</code> <code>of last system boot</code>

<code>  </code><code>-d, --dead        print dead processes</code>

<code>  </code><code>-H, --heading     print line of column headings</code>

<code>  </code><code>-l, --login       print system login processes</code>

<code>      </code><code>--lookup      attempt to canonicalize hostnames via DNS</code>

<code>  </code><code>-m                only </code><code>hostname</code> <code>and user associated with stdin</code>

<code>  </code><code>-p, --process     print active processes spawned by init</code>

<code>  </code><code>-q, --count       all login names and number of </code><code>users</code> <code>logged on</code>

<code>  </code><code>-r, --runlevel    print current runlevel</code>

<code>  </code><code>-s, --short       print only name, line, and </code><code>time</code> <code>(default)</code>

<code>  </code><code>-t, --</code><code>time</code>        <code>print last system clock change</code>

<code>  </code><code>-T, -w, --mesg    add user's message status as +, - or ?</code>

<code>  </code><code>-u, --</code><code>users</code>       <code>list </code><code>users</code> <code>logged </code><code>in</code>

<code>      </code><code>--message     same as -T</code>

<code>      </code><code>--writable    same as -T</code>

<code>      </code><code>--help     display this help and </code><code>exit</code>

<code>      </code><code>--version  output version information and </code><code>exit</code>

<code># who</code>

<code>yucz     pts</code><code>/1</code>        <code>2015-02-25 21:16 (116.6.101.193)</code>

(3)ac指令來顯示使用者連接配接時間

<code>#ac --help</code>

<code>Usage: ac [-dhpVy] [-f &lt;</code><code>file</code><code>&gt;] [people] ...</code>

<code>#ac -d root</code>

<code>Aug  8  total        0.00</code>

<code>Aug 11  total        5.62</code>

<code>Aug 12  total        2.21</code>

<code>Aug 13  total        7.74</code>

(4)finger指令顯示使用者的連接配接狀态和其他資訊

<code>#finger root</code>

<code>Login: root                             Name: root</code>

<code>Directory: </code><code>/root</code>                        <code>Shell: </code><code>/bin/bash</code>

<code>Last login Wed Aug 13 03:26 2014 (CDT) on pts</code><code>/4</code> <code>from 116.6.101.193</code>

<code>No mail.</code>

<code>No Plan.</code>

lastb/lastlog/last指令主要是讀取/var/log/btmp檔案資訊,看下面的示例

(1)last指令可以檢視本地計算機使用者的登陸情況,同時可以看到系統的啟動和重新開機狀态;

<code>#last | tail -10</code>

<code>root     pts</code><code>/0</code>        <code>116.6.101.193    Tue Aug 12 04:42 - down   (00:49)    </code>

<code>root     pts</code><code>/1</code>        <code>116.6.101.193    Mon Aug 11 21:05 - 23:19  (02:14)    </code>

<code>root     pts</code><code>/1</code>        <code>116.6.101.193    Mon Aug 11 21:02 - 21:04  (00:02)    </code>

<code>root     pts</code><code>/0</code>        <code>116.6.101.193    Mon Aug 11 20:39 - 00:58  (04:19)    </code>

<code>reboot   system boot  2.6.32-431.23.3. Fri Aug  8 04:11 - 05:31 (4+01:20)   </code>

<code>root     pts</code><code>/0</code>        <code>10.0.80.185      Fri Aug  8 04:08 - 04:09  (00:00)    </code>

<code>reboot   system boot  2.6.32-431.23.3. Fri Aug  8 04:08 - 04:09  (00:01)    </code>

<code>reboot   system boot  2.6.32-431.el6.x Thu Aug  7 23:01 - 04:06  (05:05)</code>

(2)lastlog檢視使用者最後登陸系統的狀态

<code># lastlog -h</code>

<code>Usage: lastlog [options]</code>

<code>Options:</code>

<code>  </code><code>-b, --before DAYS             print only lastlog records older than DAYS</code>

<code>  </code><code>-h, --help                    display this help message and </code><code>exit</code>

<code>  </code><code>-t, --</code><code>time</code> <code>DAYS               print only lastlog records </code><code>more</code> <code>recent than DAYS</code>

<code>  </code><code>-u, --user LOGIN              print lastlog record of the specified LOGIN</code>

<code># lastlog -u root</code>

<code>Username         Port     From             Latest</code>

<code>root             pts</code><code>/4</code>    <code>116.6.101.193    Wed Aug 13 03:26:29 -0500 2014</code>

(3)lastb主要顯示登陸失敗的情況

<code># lastb</code>

<code>yucz     </code><code>ssh</code><code>:notty    116.6.101.193    Wed Feb 25 21:16 - 21:16  (00:00)    </code>

<code>yucz     </code><code>ssh</code><code>:notty    116.6.101.193    Thu Feb 12 00:49 - 00:49  (00:00)    </code>

<code>yucz     </code><code>ssh</code><code>:notty    116.6.101.193    Mon Feb  9 02:29 - 02:29  (00:00)    </code>

<code>yucz     </code><code>ssh</code><code>:notty    184.173.65.76    Fri Feb  6 03:52 - 03:52  (00:00)    </code>

<code>yucz     </code><code>ssh</code><code>:notty    184.173.65.76    Fri Feb  6 03:51 - 03:51  (00:00)    </code>

<code>yucz     </code><code>ssh</code><code>:notty    116.6.101.193    Wed Feb  4 03:33 - 03:33  (00:00)</code>

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1615459,如需轉載請自行聯系原作者

繼續閱讀