Linux如何记录所有用户的history命令

当很多人共用一台服务器时,难免会造成一些难以想象的事故,尤其是大家除了共用一台服务器外还共用了一个权限很大的账号,比如root,那么此时为了避免出现事故后不知道是谁操作的,所以还是有必要记录所有使用此账号登录并操作的命令的。

  1. 新建日志文件
touch /var/local/mon.log
  1. 修改权限
chmod 002 /var/local/mon.log
  1. 添加监控命令(使用类似root权限的账号或者使用sudo),打开/etc/profile添加以下内容
export HISTORY_FILE=/var/local/mon.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ## `hostname` ## $(who am i |awk "{print $1}") ## $(who am i |awk "{print $2}") ## $realsourceip ## $(history 1 | { read x cmd; echo " $cmd"; })"; } >>$HISTORY_FILE'
realsourceip=`who am i | awk -F"[()]" '{print $2}'`
  1. 使上述配置生效
source /etc/profile
狭路相逢勇者胜!
原文地址:https://www.cnblogs.com/amcoder/p/13914059.html