linux環境下監控使用者的行為乙個小指令碼

2021-08-22 04:48:39 字數 2216 閱讀 5578

#while [ 1 -lt 2 ]

do read -p 「輸入要監控的使用者名稱:」 name

profile=」/home/na

me/.

bash

prof

ile」

hist

ory1

=」/h

ome/

n am

e/.b

ashp

rofi

le」h

isto

ry1=

」/ho

me

/name/.bash_history 」

id $name 1>/dev/null 2>&1

if [ $? -ne 0 ] || [ -z $name ]

then

echo "使用者不存在,請重新輸入!"

else

num1=`cat $profile | grep "readonly" | wc -l`

if [ $num1 -eq 0 ]

then

echo "該使用者沒有被監控!"

read -p "請選擇繼續監控(y)輸入其他退出:" numy

case $numy in

y) echo "正在監控$name"

break;;

*) echo "已經退出監控指令碼!"

exit;;

esac

else

echo "該使用者已經被監控!!"

read -p "請選擇解除監控(n)輸入其他退出:" numn

case $numn in

n)chattr -a $history1

chattr -a $profile

rm -rf $profile

cp /etc/skel/.bash_profile $profile

chown $name $profile

chmod 600 $profile

echo "解除監控成功!";;

*)echo "已經退出監控指令碼!"

exit;;

esac

fifi

done

if [ -f hi

stor

y1]t

hene

cho『

prom

ptco

mman

d=」h

isto

ry−a

;rea

donl

ypro

mptc

omma

nd」′

>>

h is

tory

1]th

enec

ho『p

romp

tcom

mand

=」hi

stor

y−a;

read

only

prom

ptco

mman

d」

′>>

profile

echo 『export prompt_command』 >> pr

ofil

echa

ttr+

a pro

file

chat

tr+a

profile

chattr +a hi

stor

y1el

seto

uch his

tory

1els

etou

ch

history1

chown na

men am

ehistory1

chmod 600 hi

stor

y1ch

attr

+ah is

tory

1cha

ttr+

ahistory1

echo 'prompt_command="history -a ;readonly prompt_command"'>>$profile

echo 'export prompt_command' >> $profile

chattr +a $profile

fi

echo 「正在監控中!!」

Linux下使用者操作監控

linux本身提供last及history兩個命令來查詢使用者的操作歷史。但是當有多個使用者同時進行操作的話那就顯得有所不足了。我們可以通過簡單的設定對linux使用者的系統級別的操作進行監控。root localhost vi etc profile 新增以下內容 history user ip ...

linux使用者行為審計

使用者行為審計 利用rsyslog對使用者行為進行審計 第一步 安裝rsyslog服務端 yum install y rsyslog msg,contains,curuser var log user audit 大意 從rsyslog獲取的資訊當中挑出關鍵字包含 curuser 的,列印到後面指定...

linux下登陸使用者的行為資訊 w和who命令詳解

檢視使用者的作業系統管理員若想知道某一時刻使用者的行為,只需要輸入命令w 即可,在shell終端中輸入如下命令 可以看到執行w命令及顯示結果。命令資訊含義上述顯示的資訊分別表示如下 第一行顯示系統的彙總資訊,字段分別表示系統當前時間 系統執行時間 登陸系統使用者總數及系統平均負載資訊。對於如上圖顯示...