Ubuntu下如何查看用戶登錄及用戶操作歷史相關信息
在ubuntu下如何查看相關用戶登錄歷史,用戶操作歷史,進行系統的日誌跟蹤和分析,以便發現系統登錄問題,進行安全策略防護呢?
使用who命令查看當前用戶登錄狀況
ubuntu@ubuntu-xz:~$ who
ubuntu-xz pts/3 2020-03-25 08:22 (100.100.89.82)
使用last命令查看最近登錄情況
last命令列出最近一段時間的用戶登錄時間及ip記錄。(單獨執行last指令,它會讀取位於/var/log目錄下,名稱爲wtmp的文件,並把該給文件的內容記錄的登入系統的用戶名單全部顯示出來)
root@ubuntu-xz:/home/ubuntu-xz# last
ubuntu-xz pts/1 :0 Thu May 21 12:54 still logged in
使用lastlog命令查看各個用戶登錄情況
lastlog命令列出了各個用戶的登錄情況,如果沒有登錄過,則顯示Never logged in,如果有登錄歷史,則顯示出ip及登錄時間。
ubuntu@ubuntu-xz:~$ lastlog
Username Port From Latest
root pts/63 10.163.237.135 Wed Mar 25 12:49:51 +0800 2020
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**
查看/var/log/auth.log文件,分析用戶登錄及行爲
通過查看auth.log,可以分析出用戶嘗試登錄情況,以及退出歷史;
ubuntu@ubuntu-xz:~$ cat /var/log/auth.log |more
Mar 2 06:38:28 fuelhost CRON[20583]: pam_unix(cron:session): session closed for user root
Mar 2 06:40:01 fuelhost CRON[20889]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 2 06:40:01 fuelhost CRON[20889]: pam_unix(cron:session): session closed for user root
Mar 2 06:50:01 fuelhost CRON[20898]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 2 06:50:01 fuelhost CRON[20898]: pam_unix(cron:session): session closed for user root
查看 /home/{username}/.bash_history,可以查看用戶的操作記錄
ubuntu@ubuntu-xz:~$ cat /home/ubuntu-xz/.bash_history |less
使用history命令顯示執行時間和用戶
默認情況下使用history查看時是這樣的顯示,並不能區分執行時間
253 history
254 ifconfig
255 route -n
256 cd /tmp/
爲了方便排查問題,需要在每個執行命令前加上執行時間
修改配置文件:
ubuntu@ubuntu-xz:~$ sudo vim /etc/profile
HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`: "
export HISTTIMEFORMAT
執行生效:
ubuntu@ubuntu-xz:~$ source /etc/profile
然後執行history查看可看到執行時間:
253 2019-11-29:10-34-15:ubuntu-xz: history
254 2019-11-29:10-34-16:ubuntu-xz: ifconfig
255 2019-11-29:10-34-21:ubuntu-xz: route -n