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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux系统 长久记录所有用户所有操作记录

發布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux系统 长久记录所有用户所有操作记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在linux系統中想要記錄所有登錄過當前系統的用戶操作,排查有人對當前系統做的何種操作導致系統問題,可以按照如下方法進行。

前言

在描述操作步驟之前,先說一下系統環境變量的相關配置文件

  • ~/.bashrc~/.bash_file,這兩個文件是當前用戶shell下生效的環境變量配置文件。修改完成之后需要source 一下對應的配置
  • /etc/profile/etc/bashsrc是全局變量。修改完成后所有的用戶shell都會生效,這里我們改動的主要是/etc/profile這個文件,它有一個文件夾/etc/profile.d目錄,其中也是對應的腳本,可以配置定制的環境變量腳本
    查看/etc/profile其中一段代碼
    for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do #從/etc/profile.d目錄下取出文件
    if [ -r "$i" ]; then  # 判斷是否可執行if [ "${-#*i}" != "$-" ]; then #判斷是否為交互式腳本,${-#*i}用來輸出腳本類型,如果$-為交互式腳本類型(echo $-輸出包含字母i). "$i" #是非交互腳本,不需要查看或者輸入任何信息,即可直接執行else. "$i" >/dev/null #否則重定向到空,即不執行fi
    fi
    done
    
    關于交互腳本和非交互腳本的詳細描述可以參考博文 https://blog.csdn.net/gui951753/article/details/79154496

實現

針對/etc/profile.d中腳本的執行方式,可以自己編寫實現記錄所有用戶操作記錄的腳本get_all_user.sh ,將該腳本放入到/etc/profile.d文件夾下,并source /etc/profile即可生效
該腳本在用戶退出之后會在/tmp/baron目錄下生成用戶名的文件夾,并在該文件夾下生成對應的登錄ip以及時間為文件名的用戶操作記錄文件

#get the operation of users on the server#設置終端顯示符
#root@[/tmp/baron/]#
user=`whoami`
if [ "$user" == "root" ];thenPS1="`whoami`@"'[$PWD]#'
elsePS1="`whoami`@"'[$PWD]$'
fi#HISTFILE的記錄方式是在用戶退出后將history中的緩存寫入到HISTFILE中
history#獲取登錄用戶ip
USER_IP=`who -u am i 2>/dev/null|awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" == " " ];thenUSER_IP=`hostname`
fi#創建文件夾并設置權限
if [ ! -d /tmp/baron ];thenmkdir /tmp/baronchmod 777 /tmp/baron
fi
if [ ! -d /tmp/baron/${LOGNAME} ];thenmkdir /tmp/baron/${LOGNAME}chmod 300 /tmp/baron/${LOGNAME}
fi#設置history可以記錄命令的文件大小
export HISTSIZE=8192
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/baron/${LOGNAME}/${USER_IP}.baron.$DT"
export HISTTIMEFORMAT="%F %T "#只有root對該目錄下所有文件有讀寫權限,防止其他用戶改動
chmod 600 /tmp/baron/${LOGNAME}/*baron* 2>/dev/null

生成如下記錄,可以看到有具體的登錄設備ip以及對應的用戶,文件中為用戶的具體操作記錄。非常直觀

參考博文:
深入淺出理解交互式shell和非交互式shell、登錄shell和非登錄shell的區別 https://blog.csdn.net/gui951753/article/details/79154496
linux命令h—history https://blog.csdn.net/qq_23929673/article/details/97308965

總結

以上是生活随笔為你收集整理的linux系统 长久记录所有用户所有操作记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。