這種操做超級low逼,只要操做用戶在exit以前將history清除,那就沒有記錄了。bash
==============================================================spa
在/etc/profile裏面添加如下腳本便可命令行
==============================================================日誌
PS1="`whoami`@`hostname`:"'[$PWD]~$ '
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /Operation/records ]
then
mkdir -p /Operation/records
chmod -R 777 /Operation
fi
if [ ! -d /Operation/records/${LOGNAME} ]
then
mkdir /Operation/records/${LOGNAME}
chmod -R 766 /Operation/records/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/Operation/records/${LOGNAME}/${USER_IP} records.$DT"
chmod -R 766 /Operation/records/${LOGNAME}/*records* 2>/dev/null
umask 0003code
=================下面這個的作法顯然高檔不少,但要注意權限的控制,否則人家本身就去把記錄刪了就很差了,最好加一個a,i啥的權限把============blog
一、which script
(通常如今系統中都已經自帶這個命令了)ip
二、建立對應的文件夾mkdir /var/log/script
而且其它用戶必定要給到7的權限的時候系統才能寫入操做記錄。it
三、sudo chmod 777 /var/log/script (固然這個目錄能夠建到別的地方)io
四、source /etc/profile 使環境生效。
function
五、在/etc/profille文件的最後一行加上一下內容。
if
[ $UID -
ge
0 ];
then
exec
/usr/bin/script
-t 2>
/var/log/script/
$USER-$UID-`
date
+%Y%m%d%H%M`.
date
-a -f -q
/var/log/script/
$USER-$UID-`
date
+%Y%m%d%H%M`.log
fi
參數:
-t 指明輸出錄製的時間數據
-f 若是須要在輸出到日誌文件的同時,也能夠查看日誌文件的內容,可使用 -f 參數。PS:能夠用於教學,兩個命令行接-f能夠實時演示
-a 輸出錄製的文件,在現有內容上追加新的內容
-q 可使script命令以靜默模式運行
注意:
我這裏把用戶ID大於0的都記錄下來了,你能夠從新登陸用戶,隨便操做一些命令,查看生成的文件。
root用戶的ID爲0,新建普通用戶的UID是從500開始的(經過cat /etc/password能夠查看用戶的UID),若是你不想記錄root用戶的操做,你把if裏面的值改爲500: if [ $UID - ge 500 ];