清除Linux操作系統里的操作記錄:
- history -c 命令
- ~/.bash_history文件
- /var/log/secure安全日志文件
- /var/log/lastlog二進制日志文件
- /var/log/wtmp二進制日志文件
1. history -c命令
該命令可以清空本次登入的所有輸出命令,但不清空.bash_history文件,所以下次登陸后,舊命令還將出現,歷史命令是存在於當前用戶根目錄下的./bash_history文件。
2. ~/.bash_history文件
保存當前用戶使用過的歷史命令。
記錄的命令條數可以在 /etc/profile文件 進行設置:
- HISTFILESIZE 定義了在 ~/.bash_history 文件中保存命令的記錄總數,可以理解為~/.bash_history文件中最多只有 HISTFILESIZE 行;
- HISTSIZE 定義了 history 命令輸出的記錄數,即輸出.bash_history文件中的最后HISTSIZE行。
3. /var/log/secure 安全日志文件
這個文件可以記錄服務器登陸行為。此文件如果很大,說明有人在破解你的root密碼(一般是SSH暴力破解),可以通過這個日志查到對方的IP,每次登陸,無論密碼對錯都會被詳細記錄下來,所以文件會很大,解決辦法是在/etc/hosts.deny 文件中加入IP,服務器就會拒絕這個IP的SSH登陸,語法:
sshd:IP
如果對方頻繁換IP,可以用一些工具,如DenyHosts,可以自動將頻繁輸錯密碼的IP加入hosts.deny文件。具體安裝和設置方法網上有。
另外/var/log/secure 文件是可以清空的,用這個命令:
echo /dev/null > /var/log/secure
如果這個文件很大,可以先清空,等有了新數據再查看。
4. /var/log/lastlog二進制日志文件
記錄所有用戶的最近登陸信息。這是一個二進制文件,因此需要用lastlog命令查看內容。
lastlog命令:檢查最后一次登錄本系統的用戶登錄的時間信息。
[root@lp ~]# lastlog
用戶名 端口 來自 最后登陸時間
root pts/0 192.168.28.1 一 4月 20 14:34:07 +0800 2020
bin **從未登錄過**
lp **從未登錄過**
......
[root@lp ~]#
[root@lp ~]# lastlog -u root
用戶名 端口 來自 最后登陸時間
root pts/0 192.168.28.1 一 4月 20 14:34:07 +0800 2020
[root@lp ~]#
lastlog命令的選項:
選項:
- -b,--before DAYS僅打印早於DAYS的lastlog記錄
- -h,--help顯示此幫助消息並退出
- -t,--time DAYS僅打印比DAYS更新的lastlog記錄
- -u,--user LOGIN打印指定LOGIN的lastlog記錄
5. /var/log/wtmp二進制日志文件
/var/log/wtmp是一個二進制文件,記錄每個用戶的登錄次數和持續時間等信息。
系統的每一次登錄,都會在此日志中添加記錄,為了防止有人篡改,該文件為二進制文件。
統計系統所有用戶的登錄時間和信息,包括系統曾經進行過重啟操作的重啟時間信息。這是一個重要的日志查詢命令。通過查看系統重啟信息可以方便用戶了解系統是否非正常重啟了,或者是被他人登錄重啟了。
該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件。因此隨着系統正常運行時間的增加,該文件的大小也會越來越大,增加的速度取決於系統用戶登錄的次數。該日志文件可以用來查看用戶的登錄記錄,
last命令就通過訪問這個文件獲得這些信息,並以反序從后向前顯示用戶的登錄記錄,last也能根據用戶、終端tty或時間顯示相應的記錄。
last命令的選項參數:
-a,--hostlast 最后一列顯示主機名;
-d,--dns 將IP號轉換回主機名;
-F,--file<文件> 用指定文件代替 /var/log/wtmp;
-F,--fulltimes 打印彎針的登陸和注銷時間和日期;
-i,--ip 以數字和點的形式顯示IP號;
-n,--limit<數字> 要顯示的行數
-R,--nohostname 不顯示主機名字段;
-s,--since <時間> 顯示從指定時間起的行;
-t,--until<時間> 顯示到指定時間為止的行;
-p,--present<時間> 顯示在指定時間誰在場;
-w,--fullnames 顯示完整的用戶名和域名;
-x,--system 顯示系統關機項和運行級別更改;--time-format<格式> 以指定<格式>顯示時間戳:notime | short | full | iso
-h,--help 顯示此幫助並退出;
-V,--version 輸出版本信息並退出。
查看/var/log/wtmp文件的方法:直接用last命令
[root@lp ~]# last
root pts/0 192.168.28.1 Mon Apr 20 14:34 still logged in
reboot system boot 2.6.32-279.el6.x Mon Apr 20 14:33 - 14:57 (00:23)
root pts/0 192.168.28.1 Fri Apr 17 08:08 - 18:10 (10:02)
reboot system boot 2.6.32-279.el6.x Mon Feb 18 14:13 - 14:17 (00:03)
root pts/2 192.168.152.1 Wed Jan 16 16:02 - 13:30 (21:28)
root pts/1 192.168.74.1 Wed Jan 16 14:41 - 18:10 (03:29)
root pts/0 :0.0 Wed Jan 16 14:31 - 13:30 (22:59)
root tty1 :0 Wed Jan 16 14:30 - crash (32+23:42)
reboot system boot 2.6.32-279.el6.x Wed Jan 16 14:30 - 14:17 (32+23:47)
root pts/0 :0.0 Sat Oct 20 14:13 - down (01:29)
root tty1 :0 Sat Oct 20 14:12 - down (01:29)
reboot system boot 2.6.32-279.el6.x Sat Oct 20 14:10 - 15:42 (01:31)
......
root tty1 :0 Sun Feb 25 17:24 - down (00:04)
reboot system boot 2.6.32-279.el6.x Mon Feb 26 03:22 - 17:29 (-9:-52)
wtmp begins Mon Feb 26 03:22:07 2018
[root@lp ~]#
如何清除/var/log/wtmp數據:
echo > /var/log/wtmp