在 linux 下面可以使用 history 指令查看使用者的所有歷史操作,同時 shell 指令操作記錄預設會儲存在使用者目錄的 .bash_history 檔案中。透過這個檔案可以查詢 shell 指令的執行歷史,有助於維運人員進行系統稽核和問題排查,同時在伺服器遭受駭客攻擊後,也可以查詢駭客登入伺服器的歷史命令操作。但是駭客在入侵後,為了抹除痕跡,會刪除 .bash_history 文件,這就需要合理備份這個文件了。
預設的 history 指令只能查看使用者的歷史操作記錄,但不能區分每個使用者操作指令的時間。這點對於問題排查相當的不方便。解決方法是在/etc/bashrc 檔案中加入以下四行來讓history 指令自動記錄所有shell 指令的執行時間:
複製程式碼 程式碼如下:
histfilesize=4000
histsize=4000
histtimeformat='%f %t'
export histtimeformat
histfilesize 表示在.bash_history 檔案中儲存指令的記錄總數,預設值為1000;histsize定義了history 指令輸出的記錄總數;histtimeformat 定義了時間顯示格式,該格式與date 指令後的「 "%f %t"」 是一樣的;histtimeformat 作為history 的時間變數將值傳遞給history 指令。
進階技巧
上面那個雖然可以記錄時間,但是無法作為審計目的使用,很容易被駭客篡改或遺失。以下這種方法詳細記錄了登入系統的使用者、ip 位址、shell 指令以及詳細操作的時間。並將這些資訊以文件的形式保存在一個安全的地方,以供系統審計和故障排查。
把以下程式碼放入 /etc/profile 檔案中,即可實現上述功能。
複製程式碼 程式碼如下:
#record history operation
user_ip=`who -u am i 2>/dev/null |awk '{print $nf}' |sed -e 's/[()]//g'`
logname=`who -u am i |awk '{print $1}'`
histdir=/user/share/.history
if [ -z $user_ip]
then
user_ip=`hostname`
fi
if [ ! -d $histdir]
then
mkdir -p $histdir
chmod 777 $histdir
fi
if [ ! -d $histdir/${logname}]
then
mkdir -p $histdir/${logname}
# mkdir -p $histdir/${logname}
chmod 300 $histdir/${logname}
dt=`date "%y%m%d_%h%m%s"`
export histfile="$histdir/${logname}/${user_ip}.history.$dt"
export histtimeformat="[%y.%m.%d %h:%m:%s]"
chmod 600 $histdir/${logname}/*.history* 2>/dev/null
以上是linux shell歷史指令記錄功能怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版
中文版,非常好用

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器