Linux开启服务器操作日志

来源:服务器多人操作的时候,难免会产生一些不愉快的操作,这时候可以开启服务器日志,查看用户具体干了什么操作

1.编辑 /etc/profile 文件 在结尾追加一下内容

mkdir -m 777 -p /.cmdlog 2>&-
declare -r HISTTIMEFORMAT='%F %T ### '
declare -r HISTCONTROL=''
RSSHTTY=$(who am i |awk '{print $2}')
if [ "$SSH_CONNECTION" ];then 
RSSH_CLIENTIP=$(echo $SSH_CONNECTION |awk '{ print $1}') 
RSSH_HOSTIP=$(echo $SSH_CONNECTION |awk '{ print $3}') 
else 
RSSH_CLIENTIP=$(who am i|awk '{print $5}' |sed 's/[()]//g') 
RSSH_HOSTIP=$(ip addr | grep inet| grep -v 127 | grep -v inet6 |grep -v virbr| head -n 1 | awk -F/ '{print $1}' |  awk '{print $2}')
fi
RCMDLOG_FILE="/.cmdlog/cmdlog.$(date +%F)"
[ -f $RCMDLOG_FILE -a -s $RCMDLOG_FILE ] || install -m 777 /dev/null $RCMDLOG_FILE 2>&-
RLOGIN_TIMESTAMP=`date +%s`

rsprompt_command() {
RHISTCMD_PREV=$(history 1);RACTIONDATE=$(history 1|awk '{print $2" "$3}');RACTIONTIME=$(date -d "$RACTIONDATE" +%s)
if [ "$RHISTCMD_BEFORE_LAST" != "$RHISTCMD_PREV" ] && [ "$RACTIONTIME" -ge "$RLOGIN_TIMESTAMP" ]; then 
{ date "+%F %T ### ${HOSTNAME} ### ${USER} ### ${RSSHTTY} ### ${RSSH_CLIENTIP} ### ${RSSH_HOSTIP} ### ${SSH_CONNECTION} ### ${PWD} ### $RLOGIN_TIMESTAMP ###$(history 1|awk "{\$1=\"\";print}")"; } 2>&- >> $RCMDLOG_FILE
fi
RHISTCMD_BEFORE_LAST=$RHISTCMD_PREV
}
declare -r PROMPT_COMMAND='rsprompt_command'

2.source /etc/profile 刷新文件

3.在根目录 .cmdlog下回会生成日志操作记录

4.tail -f /.cmdlog/cmdlog.2023-02-22 查看日志

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值