有時候咱們須要對線上用戶操做記錄進行歷史記錄待出現問題追究責任人,但Linux系統自帶的history命令用戶有自行刪除權限,那怎麼設置可讓用戶的操做記錄實時記錄,並保證普通用戶無權刪除呢?咱們做爲系統管理員能夠這樣作!bash
1.mkdir -p /usr/local/domob/records/ 建立審計的目錄
chmod 777 /usr/local/domob/records/ 設置目錄權限
chmod +t /usr/local/domob/records/ +t 表示
2.vi /etc/profile 配置文件在最後添加下面的代碼
dom
if [ ! -d /usr/local/domob/records/${LOGNAME} ] 意思是判斷用戶這個目錄是否存在,不存在時會自動建立 ,建立用戶的文件
then
mkdir -p /usr/local/domob/records/${LOGNAME}
chmod 300 /usr/local/domob/records/${LOGNAME} 爲這個用戶給予的權限
fi
export HISTORY_FILE="/usr/local/domob/records/${LOGNAME}/bash_history" 定義變量文件的存儲路徑
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'ide