日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 当前活动用户,如何在Linux上自动记录所有用户的终端会话活动

發(fā)布時(shí)間:2025/3/21 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 当前活动用户,如何在Linux上自动记录所有用户的终端会话活动 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

如何在Linux上自動(dòng)記錄所有用戶的終端會(huì)話活動(dòng)

不久前,我們寫了一篇文章,使用script命令記錄Linux終端會(huì)話活動(dòng)。

今天,我們還將討論相同的主題。

但是,本教程允許您自動(dòng)記錄所有用戶的終端會(huì)話活動(dòng)。

我建議管理員將此功能作為關(guān)鍵任務(wù)服務(wù)器上安全檢查表的一部分包含在內(nèi)。

如果任何用戶活動(dòng)導(dǎo)致服務(wù)器出現(xiàn)問題,這將幫助您立即解決問題。

通過檢查特定用戶的會(huì)話活動(dòng)文件,您可以輕松地確定他/她所做的事情。

而且,它可以幫助您隨時(shí)獲取命令輸出,也可以保留它以備將來參考。

默認(rèn)情況下,每個(gè)人都希望使用history命令來查看終端中先前輸入的命令。是的,它很好,但是不幸的是它沒有顯示以前執(zhí)行的命令的輸出。

可以使用script命令來完成。這樣做,將以下腳本添加到/etc/profile文件中。每當(dāng)用戶登錄時(shí),它將自動(dòng)開始記錄用戶的終端會(huì)話。

什么是腳本命令

腳本是一個(gè)UNIX命令行應(yīng)用程序,它記錄一個(gè)終端會(huì)話(換句話說,它記錄了終端上顯示的所有內(nèi)容)。

它將輸出作為文本文件存儲(chǔ)在當(dāng)前目錄中,默認(rèn)文件名是typescript。

什么是scriptreplay

該程序使用時(shí)間信息來重放打字稿,以確保輸出以與記錄腳本時(shí)最初出現(xiàn)的速度相同的速度發(fā)生。

如何檢查Linux上是否安裝了腳本命令

該腳本是Linux Core應(yīng)用程序的一部分,默認(rèn)情況下已安裝在大多數(shù)Linux發(fā)行版中。

在基于RHEL的系統(tǒng)上,腳本命令是“ util-linux-ng”軟件包的一部分,在基于Debian的系統(tǒng)上,腳本命令是“ bsdutils”軟件包的一部分。

對(duì)于基于RHEL的系統(tǒng),請使用rpm命令

# rpm -qf /usr/bin/script

util-linux-2.32.1-8.el8.x86_64

# rpm -qf /usr/bin/scriptreplay

util-linux-2.32.1-8.el8.x86_64

對(duì)于基于Debian的系統(tǒng),請使用dpkg命令

# dpkg -S /usr/bin/script

bsdutils: /usr/bin/script

# dpkg -S /usr/bin/scriptreplay

bsdutils: /usr/bin/scriptreplay

什么是/etc/profile文件?

在Linux上有什么用該/etc/profile文件用于將全局Linux系統(tǒng)環(huán)境變量設(shè)置到用戶的外殼程序。每當(dāng)用戶輸入bash shell登錄名時(shí),該文件將自動(dòng)執(zhí)行。使用您喜歡的文本編輯器打開“ /etc/profile”文件,然后添加以下代碼。

# vi /etc/profile

#Script to Record the User's Terminal Session

if [ "x$session_record" = "x" ]

then

timestamp=`date "+%m%d%Y%H%M"`

output=/var/log/session/session.$USER.$$.$timestamp

session_record=started

export session_record

script -t -f -q 2>${output}.timing $output

exit

fi

確保/var/log/session系統(tǒng)上已經(jīng)存在輸出路徑目錄。如果沒有,請創(chuàng)建它。

# mkdir /var/log/session

將/var/log/session目錄許可權(quán)更改為777,這將允許所有用戶在會(huì)話目錄中寫入其會(huì)話活動(dòng)。要了解有關(guān)Linux文件權(quán)限的更多信息。

# chmod 777 /var/log/session

如何檢查此腳本是否按預(yù)期工作?

完成所有前提條件后,我們將在終端中運(yùn)行一些命令以檢查此實(shí)驗(yàn)。

讓我們假設(shè)你有三個(gè)用戶:daygeek,magi,和tanisha。我們將在每個(gè)會(huì)話中運(yùn)行一些命令以驗(yàn)證此測試。

我們以daygeek用戶身份運(yùn)行以下命令。

$ uname -a

$ arch

$ hostname -I

$ exit

我們以magi用戶身份運(yùn)行以下命令。

$ w

$ date

$ whoami

$ cat /etc/centos-release

$ exit

我們以tanisha用戶身份運(yùn)行以下命令。

$ rpm -q kernel

$ history

$ last reboot

$ exit

我們以root用戶身份運(yùn)行以下命令。

# whoami

# pwd

# host 2daygeek.com

# host magesh.co.in

# exit

如何使用script命令在Linux上列出記錄的會(huì)話

我們已經(jīng)從所有用戶會(huì)話中成功執(zhí)行了一些命令。使用ls命令查看記錄的會(huì)話(ls代表列表目錄內(nèi)容)。

# ls -lh /var/log/session

total 32K

-rw-rw-r-- 1 daygeek daygeek 2.0K Jul 24 17:16 session.daygeek.26452.072420191715

-rw-rw-r-- 1 daygeek daygeek ?784 Jul 24 17:16 session.daygeek.26452.072420191715.timing

-rw-rw-r-- 1 magi ? ?magi ? ? 835 Jul 24 17:14 session.magi.26394.072420191713

-rw-rw-r-- 1 magi ? ?magi ? ? 591 Jul 24 17:14 session.magi.26394.072420191713.timing

-rw-r--r-- 1 root ? ?root ? ? 957 Jul 24 17:18 session.root.26499.072420191717

-rw-r--r-- 1 root ? ?root ? ? 864 Jul 24 17:18 session.root.26499.072420191717.timing

-rw-rw-r-- 1 tanisha tanisha ?555 Jul 24 17:20 session.tanisha.26545.072420191718

-rw-rw-r-- 1 tanisha tanisha ?528 Jul 24 17:20 session.tanisha.26545.072420191718.timing

是的,所有用戶的終端會(huì)話操作都已成功注冊,并且已存儲(chǔ)在/var/log/session目錄下。

如何使用script命令在Linux上查看記錄的會(huì)話

我可以說一切都按預(yù)期進(jìn)行,沒有任何問題,因?yàn)樗鼊?chuàng)建了所有用戶的文件。

現(xiàn)在,是時(shí)候一個(gè)接一個(gè)地查看用戶記錄的所有會(huì)話數(shù)據(jù),以確保腳本捕獲了我們已實(shí)現(xiàn)的所有內(nèi)容。

查找daygeek用戶的會(huì)話輸出。

# more session.daygeek.26452.072420191715

Script started on Mon 24 Jul 2019 05:15:13 PM EDT

[daygeek@vps1 ~]$ uname -a

Linux vps1.daygeek.com 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

[daygeek@vps1 ~]$ arch

x86_64

[daygeek@vps1 ~]$ hostname -I

66.70.189.137

[daygeek@vps1 ~]$ exit

exit

查找magi用戶的會(huì)話輸出。

# more session.magi.26394.072420191713

Script started on Mon 24 Jul 2019 05:13:10 PM EDT

[magi@vps1 ~]$ w

17:13:13 up 3 days, ?7:17, ?4 users, ?load average: 0.00, 0.00, 0.00

USER ? ? TTY ? ? ?FROM ? ? ? ? ? ? ?LOGIN@ ? IDLE ? JCPU ? PCPU WHAT

root ? ? pts/0 ? ?103.5.134.167 ? ?17:00 ? ?4:13 ? 0.29s ?0.24s top -c

root ? ? pts/1 ? ?103.5.134.167 ? ?17:09 ? 27.00s ?0.01s ?0.01s -bash

magi ? ? pts/2 ? ?103.5.134.167 ? ?17:13 ? ?0.00s ?0.00s ?0.00s -bash

magi ? ? pts/3 ? ?- ? ? ? ? ? ? ? ?17:13 ? ?0.00s ?0.00s ?0.00s w

[magi@vps1 ~]$ date

Mon Jul 24 17:13:24 EDT 2019

[magi@vps1 ~]$ whoami

magi

[magi@vps1 ~]$ cat /etc/centos-release

CentOS release 6.10 (Final)

[magi@vps1 ~]$ exit

exit

查找tanisha用戶的會(huì)話輸出。

# more session.tanisha.26545.072420191718

Script started on Mon 24 Jul 2019 05:18:49 PM EDT

[tanisha@vps1 ~]$ rpm -q kernel

kernel-2.6.32-754.el6.x86_64

[tanisha@vps1 ~]$ history

1 ?rpm -q kernel

2 ?history

[tanisha@vps1 ~]$ last reboot

reboot ? system boot ?2.6.32-696.6.3.e Fri Jul 21 09:55 - 17:20 (3+07:24)

wtmp begins Fri Jul 21 09:54:02 2019

[tanisha@vps1 ~]$ exit

exit

查找root用戶的會(huì)話輸出。

# more session.root.26499.072420191717

Script started on Mon 24 Jul 2019 05:17:41 PM EDT

[root@vps1 ~]# whoami

root

[root@vps1 ~]# pwd

/root

[root@vps1 ~]# host 2daygeek.com

2daygeek.com has address 104.27.157.177

2daygeek.com has address 104.27.156.177

2daygeek.com has IPv6 address 2400:cb00:2048:1::681b:9db1

2daygeek.com has IPv6 address 2400:cb00:2048:1::681b:9cb1

2daygeek.com mail is handled by 0 dc-7dba4d3ea8cd.2daygeek.com.

[root@vps1 ~]# host magesh.co.in

magesh.co.in has address 103.212.204.46

magesh.co.in mail is handled by 10 e46f668a62df45920a71fc97ebe479.pamx1.hotmail.com.

[root@vps1 ~]# exit

exit

以上所有輸出清楚地表明,所有內(nèi)容均已記錄,沒有任何問題。

如何重播通過scriptreplay命令記錄的會(huì)話

您可以在scriptreplay命令的幫助下重播記錄的會(huì)話,因?yàn)槟_本也已捕獲了定時(shí)文件。這樣做,如下所述運(yùn)行文件。

# scriptreplay --timing=session.daygeek.26452.072420191715.timing session.daygeek.26452.072420191715

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任

總結(jié)

以上是生活随笔為你收集整理的linux 当前活动用户,如何在Linux上自动记录所有用户的终端会话活动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。