有時候我們需要對線上用戶操作記錄進行歷史記錄待出現(xiàn)問題追究責任人,丙号,但Linux系統(tǒng)自帶的history命令用戶有自行刪除權限,那怎么設置可以讓用戶的操作記錄實時記錄,并保證普通用戶無權刪除呢秕脓?
1.創(chuàng)建系統(tǒng)用戶shell命令行操作記錄日志存放位置
mkdir -p /var/log/userlogin/records/
chmod 777 /var/log/userlogin/records/
chmod +t /var/log/userlogin/records/
2.vim /etc/profile 在最后添加下面的代碼
if [ ! -d /var/log/userlogin/records/${LOGNAME} ]
then
mkdir -p /var/log/userlogin/records/${LOGNAME}
chmod 300 /var/log/userlogin/records/${LOGNAME}
fi
export HISTORY_FILE="/var/log/userlogin/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'
重新加載profile
source /etc/profile
3.測試驗證
[root@localhost ~]# cd /var/log/userlogin/records/
[root@localhost records]# ls
root
[root@localhost records]# cd root/
[root@localhost root]# ls
bash_history
[root@localhost root]# vim bash_history