新聞中心
無(wú)論何時(shí),都要對(duì)用戶的所有行為做到記錄和可追溯,這在解決一些疑難雜癥的時(shí)候很有幫助,因?yàn)槟悴恢朗裁磿r(shí)候會(huì)有些牛鬼蛇神對(duì)機(jī)器做些匪夷所思的操作,下面為大家詳細(xì)講解一下Linux用戶行為分析。

站在用戶的角度思考問題,與客戶深入溝通,找到寧洱網(wǎng)站設(shè)計(jì)與寧洱網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋寧洱地區(qū)。
finger命令
?finger是獲取用戶個(gè)人資料的一個(gè)便捷命令。 它使您可以查看誰(shuí)已登錄或?qū)W⒂趩蝹€(gè)用戶,以查看上一次登錄、他們從何處登錄、閑置時(shí)間有多久(自運(yùn)行命令以來(lái)有多久)等。 在該命令中, 我們查看用戶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的最新登錄和電子郵件活動(dòng)。 僅在/etc/passwd文件中的全名字段中定義了辦公室、辦公室電話和家庭電話號(hào)碼,這些信息才包括在內(nèi)。 比如說(shuō):?
nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).
?上面的輸出還表明nemo沒有“計(jì)劃”,但這只是意味著該用戶沒有創(chuàng)建.plan文件、并將一些文本放入其中。 這并不罕見。?
?如果沒有參數(shù),finger將以如下所示的格式顯示當(dāng)前登錄列表。 您可以看到他們何時(shí)登錄、從哪個(gè)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命令也以一份格式清晰的列表顯示了目前活動(dòng)的用戶,包括閑置時(shí)間、用戶最近運(yùn)行了什么命令。 它還在最上面一行顯示系統(tǒng)已運(yùn)行了多久,并提供負(fù)載平均數(shù)字,表明系統(tǒng)有多忙碌。 在這里,系統(tǒng)基本上處于閑置狀態(tài)。?
$ 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命令,您可以查看用戶的數(shù)值ID和用戶組ID以及該用戶是哪些用戶組的成員。 這些信息從/etc/passwd文件和/etc/group文件獲取而來(lái)。 沒有參數(shù)的id報(bào)告您帳戶的信息。?
$ 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數(shù)據(jù)顯示最近登錄活動(dòng),您可以運(yùn)行這樣的命令:?
$ 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命令可能最擅長(zhǎng)查看所有用戶或某一個(gè)用戶的最近登錄。 記住一點(diǎn):last首先顯示最近的活動(dòng),因?yàn)檫@是大多數(shù)管理員最感興趣的信息。?
$ 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)
du命令
如果針對(duì)/home中的每個(gè)目錄運(yùn)行,du命令會(huì)報(bào)告每個(gè)用戶的主目錄在使用多少空間,就像這樣:
$ 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
默認(rèn)情況下,報(bào)告的大小以1024字節(jié)為單位。
ps和history命令
?針對(duì)當(dāng)前登錄的用戶,您始終可以使用ps -ef | grep ^nemo之類的命令,查看用戶目前在運(yùn)行哪些命令和進(jìn)程。 想查看以前運(yùn)行的命令,可以試著查看用戶的歷史記錄文件(比如.bash_history),不過(guò)要注意,用戶可以設(shè)置帳戶,以便某些命令不被捕獲到歷史記錄文件中,他們還可以編輯這些文件,如果選擇這么做的話。?
統(tǒng)計(jì)登錄次數(shù)
如果您想查看自/var/log/wtmp文件上一次翻轉(zhuǎn)以來(lái)每個(gè)用戶登錄的次數(shù),可以使用這樣的命令:
$ for USER in `ls /home`> do > cnt=`last $USER | grep ^$USER | wc -l` # count logins > echo $USER: $cnt # show login count > done
輸出會(huì)像是這樣:
dorothy: 0 dory: 0 eel: 8 gino: 0 jadep: 102 nemo: 39 shark: 50 shs: 105 tadpole: 0
如果您想要更多的細(xì)節(jié),可以創(chuàng)建一個(gè)較復(fù)雜的腳本,以便添加另外一些信息,比如登錄細(xì)節(jié)和格式。
#!/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
?上述??腳本??將顯示的數(shù)據(jù)限制在最近的五次登錄,但是您可以輕松改變。 以下是一個(gè)用戶的數(shù)據(jù)的格式會(huì)什么樣:?
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的情況
如果您想看看用戶中有誰(shuí)企圖使用sudo、而他們本無(wú)這項(xiàng)權(quán)限,可以運(yùn)行這樣的命令:
$ grep "NOT in sudoers" /var/log/auth.log | awk '{print $6}'
nemo
?如果您在無(wú)權(quán)提升權(quán)限的情況下試圖使用sudo,而系統(tǒng)發(fā)出警告信息“用戶名不在sudoers文件中。 將報(bào)告該事件”,您可能會(huì)知道這個(gè)日志條目是該報(bào)告的精髓。 除非管理員竭力尋找sudo使用違規(guī),否則它們不會(huì)被人注意。
新聞標(biāo)題:Linux用戶行為分析具體方法
當(dāng)前鏈接:http://www.dlmjj.cn/article/dhpcgip.html


咨詢
建站咨詢
