vim /etc/bashrcvim
HISTFILE="/data/log/.user"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTFILE'bash
第二種:this
HISTTIMEFORMAT="%Y/%m/%d %T ";export HISTTIMEFORMATip
export HISTORY_FILE=/data/log/user_audit/user_audit.logcmd
export PROMPT_COMMAND='{ thisHistID=`history 1|awk "{print \\$1}"`;lastCommand=`history 1| awk "{\\$1=\"\" ;print}"`;user=`id -un`;whoStr=(`who -u am i`);realUser=${whoStr[0]};logMonth=${whoStr[2]};logDay=${whoStr[3]};logTime=${whoStr[4]};pid=${whoStr[6]};ip=${whoStr[7]};if [ ${thisHistID}x != ${lastHistID}x ];then echo -E `date "+%Y/%m/%d %H:%M:%S"` $user\($realUser\)@$ip[PID:$pid][LOGIN:$logMonth $logDay $logTime] --- $lastCommand ;lastHistID=$thisHistID;fi; } >> $HISTORY_FILE'it
who -u am i 獲取的是實際用戶ast
id -un 獲取的是當前操做的用戶,好比切換到root,可是要獲取實際用戶的得用上面那個awk