搭建服務器操做記錄(一)

 

這種操做超級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 ];

  • 主目錄權限問題往後再加。
相關文章
相關標籤/搜索