linux记录日志,Linux下记录用户操作日志

注:此脚本直接执行即可

#!/bin/sbin #functions:install cmd_track scripts

#date:2016-04-05

#auther:shaonbean

#set -x

# Check if user is root

if [ $(id -u) -ne "0" ]; then

echo "Error: You must be root to run this script, please use root to install "

exit 1

fi

#

cmd_path=/etc/profile.d

log_path=/etc/rsyslog.d

#

cat > $cmd_path/cmd.sh << 'EOF'

################################################

# cmd track

################################################

# CHANGELOG

#May 22, 2014  JY: * Initial Create

################################################

declare -x REAL_LOGNAME=`/usr/bin/who am i | cut -d" " -f1`

declare -x REAL_IP=`/usr/bin/who -u am i | awk '{print $NF}'|sed -e 's/[()]//g'`

if [ $USER == root ]; then

declare -x PROMT="#"

else

declare -x PROMT="$"

fi

#if [ x"$SSH_USER" == x ]; then

#        declare -x REMOTE_USER=UNKNOW

#  else

#        declare -x REMOTE_USER=$SSH_USER

#fi

LAST_HISTORY="$(history 1)"

__LAST_COMMAND="${LAST_HISTORY/*:[0-9][0-9] /}"

declare -x h2l='

THIS_HISTORY="$(history 1)"

__THIS_COMMAND="${THIS_HISTORY/*:[0-9][0-9] /}"

if [ "$LAST_HISTORY" != "$THIS_HISTORY" ];then

__LAST_COMMAND="$__THIS_COMMAND"

LAST_HISTORY="$THIS_HISTORY"

logger -p local4.notice -i -t $REAL_LOGNAME $REAL_IP "[$USER@$HOSTNAME $PWD]$PROMT $__LAST_COMMAND"

fi'

trap "$h2l" DEBUG

EOF

#####

if [ -d $log_path ];then

echo "$log_path does exist"

else

mkdir -p $log_path

fi

#

cat > $log_path/10-cmd_track.conf << 'EOF'

# Log nc_profile generated CMD log messages to file

local4.notice /var/log/cmd_track.log

#:msg, contains, "REM" /var/log/cmd_track.log

# Uncomment the following to stop logging anything that matches the last rule.

# Doing this will stop logging kernel generated UFW log messages to the file

# normally containing kern.* messages (eg, /var/log/kern.log)

& ~

EOF

#

/etc/init.d/rsyslog restart && source /etc/profile

脚本内容到此结束,结果演示:

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值