您好,登錄后才能下訂單哦!
這篇“Linux用戶行為分析的方法是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux用戶行為分析的方法是什么”文章吧。
finger是獲取用戶個人資料的一個便捷命令。 它使您可以查看誰已登錄或專注于單個用戶,以查看上一次登錄、他們從何處登錄、閑置時間有多久(自運行命令以來有多久)等。 在該命令中, 我們查看用戶nemo。
$ finger nemo Login: nemo Name: Nemo Demo Directory: /home/nemo Shell: /bin/bash On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6 7 minutes 47 seconds idle New mail received Wed Jun 17 18:31 2020 (EDT) Unread since Sat Jun 13 18:03 2020 (EDT) No Plan.
‎我們可以看到nemo的全名、主目錄和外殼,還可以看到nemo的最新登錄和電子郵件活動。 僅在/etc/passwd文件中的全名字段中定義了辦公室、辦公室電話和家庭電話號碼,這些信息才包括在內。 比如說:‎
nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).
上面的輸出還表明nemo沒有“計劃”,但這只是意味著該用戶沒有創建.plan文件、并將一些文本放入其中。 這并不罕見。如果沒有參數,finger將以如下所示的格式顯示當前登錄列表。 您可以看到他們何時登錄、從哪個IP地址登錄、使用中的偽終端(比如pts/1)以及閑置了多久。
$ finger Login Name Tty Idle Login Time Office Office Phone nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6) shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60
‎w命令也以一份格式清晰的列表顯示了目前活動的用戶,包括閑置時間、用戶最近運行了什么命令。 它還在最上面一行顯示系統已運行了多久,并提供負載平均數字,表明系統有多忙碌。 在這里,系統基本上處于閑置狀態。‎
$ w 14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash
如果使用id命令,您可以查看用戶的數值ID和用戶組ID以及該用戶是哪些用戶組的成員。 這些信息從/etc/passwd文件和/etc/group文件獲取而來。 沒有參數的id報告您帳戶的信息。‎
$ id uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops) $ id nemo uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish) auth.log
您可以使用grep之類的命令從/var/log/auth.log文件獲取信息。 為了使用auth.log數據顯示最近登錄活動,您可以運行這樣的命令:‎
$ grep "New session" /var/log/auth.log | awk '{print $1,$2,$3,$11}' | tail -5 Jun 17 17:22:38 shs. Jun 17 17:58:43 gdm. Jun 17 18:09:58 shs. Jun 19 12:57:36 shs. Jun 19 12:58:44 nemo.
last命令可能最擅長查看所有用戶或某一個用戶的最近登錄。 記住一點:last首先顯示最近的活動,因為這是大多數管理員最感興趣的信息。‎
$ last | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) $ last nemo | head -5 nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22) nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16) nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10) nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52) nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02)
如果針對/home中的每個目錄運行,du命令會報告每個用戶的主目錄在使用多少空間,就像這樣:
$ sudo du -sk /home/* 289 /home/dorothy 116 /home/dory 88 /home/eel 28 /home/gino 28 /home/jadep 12764 /home/nemo 732 /home/shark 418046 /home/shs 108 /home/tadpole
默認情況下,報告的大小以1024字節為單位。
針對當前登錄的用戶,您始終可以使用ps -ef | grep ^nemo之類的命令,查看用戶目前在運行哪些命令和進程。 想查看以前運行的命令,可以試著查看用戶的歷史記錄文件(比如.bash_history),不過要注意,用戶可以設置帳戶,以便某些命令不被捕獲到歷史記錄文件中,他們還可以編輯這些文件,如果選擇這么做的話。‎
統計登錄次數
如果您想查看自/var/log/wtmp文件上一次翻轉以來每個用戶登錄的次數,可以使用這樣的命令:
$ for USER in `ls /home`> do > cnt=`last $USER | grep ^$USER | wc -l` # count logins > echo $USER: $cnt # show login count > done
輸出會像是這樣:
dorothy: 0 dory: 0 eel: 8 gino: 0 jadep: 102 nemo: 39 shark: 50 shs: 105 tadpole: 0
如果您想要更多的細節,可以創建一個較復雜的腳本,以便添加另外一些信息,比如登錄細節和格式。
#!/bin/bash sepline="====================" for USER in `ls /home` do len=`echo $USER | awk '{print length($0)}'` # get length of username echo $USER sep="${sepline:1:$len}" # set separator echo $sep # print separator cnt=`last $USER | grep ^$USER | wc -l` # count logins echo logins: $cnt # show login count last $USER | grep ^$USER | head -5 # show most recent logins echo done
上述‎‎腳本‎‎將顯示的數據限制在最近的五次登錄,但是您可以輕松改變。 以下是一個用戶的數據的格式會什么樣:‎
shs === logins: 105 shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32) shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34) shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36) shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38)
如果您想看看用戶中有誰企圖使用sudo、而他們本無這項權限,可以運行這樣的命令:
$ grep "NOT in sudoers" /var/log/auth.log | awk '{print $6}'nemo
如果您在無權提升權限的情況下試圖使用sudo,而系統發出警告信息“用戶名不在sudoers文件中。 將報告該事件”,您可能會知道這個日志條目是該報告的精髓。 除非管理員竭力尋找sudo使用違規,否則它們不會被人注意。
以上就是關于“Linux用戶行為分析的方法是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。