首页 > 系统相关 >linux系统记录用户操作命令

linux系统记录用户操作命令

时间:2023-04-19 16:32:03浏览次数:40  
标签:RHISTCMD RCMDLOG 操作命令 用户 RSSH awk linux print ###

#审计用户

'''shell

mkdir -m 777 -p /tmp/log 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.0.0.1 | grep -v inet6 |grep -v virbr| head -n 1 | awk -F/ '{print $1}' |  awk '{print $2}')

fi

RCMDLOG_FILE="/tmp/log/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} ### $(history 1|awk "{\$1=\"\";print}")"; } 2>&- >> $RCMDLOG_FILE

  fi

  RHISTCMD_BEFORE_LAST=$RHISTCMD_PREV

}

declare -r PROMPT_COMMAND='rsprompt_command'

将以上内容写入

vim /etc/profile

source /etc/profile



标签:RHISTCMD,RCMDLOG,操作命令,用户,RSSH,awk,linux,print,###
From: https://blog.51cto.com/u_5776643/6206707

相关文章

  • 用户画像
    用户画像是通过分析用户属性、行为数据来深度理解目标用户的特征,划分用户群体的过程。它可以让公司更加清晰地认识自己的客户群,为产品设计、营销策划等提供依据。在数据分析领域,用户画像主要是指:1.根据用户属性构建用户画像:针对性别、年龄、地区、职业等属性数据,分析用户......
  • linux Irq domain
    文章引用:https://blog.csdn.net/longwang155069/article/details/105812097为什么会引入IRQ_domain?早期中断数量较少,所以可以分布在一个interrupt_controler,中断映射也很简单,每个中断号对应一个interrupt_controler。 而当一个系统中有多个interrupt-controller的时候,而且中......
  • Linux课程(大数据、JavaEE,Python通用版)
    尚硅谷Linux课程(大数据、JavaEE,Python通用版)整理:韩顺平Linux课程笔记第1章LINUX开山篇1.1本套LINUX课程的内容介绍1.2LINUX的学习方向1.2.1Linux运维工程师.1.2.2Linux嵌入式开发工程师.123在linux下做各种程序开发.1.2.4示意图.1.3LINUX的应用领域......
  • linux中定时脚本logrotate是做什么的?
    centos7环境/etc/cron.daily/logrotatelogrotate是Linux系统中的一个定时脚本,它用于管理日志文件,自动地进行日志文件的轮换、压缩和删除等操作,以避免日志文件过大导致系统崩溃,同时也有利于日志查询和分析。具体来说,logrotate可以实现以下功能:日志文件的轮换:logrotate会按......
  • Linux最常见的三个应用领域详解!
    Linux应用领域有很多,其中最为主要的就是这三种:IT服务器Linux系统应用领域、嵌入式Linux系统应用领域和个人桌面linux应用领域,接下来我们来看看具体的内容介绍。与Windows操作系统软件一样,Linux也是一个操作系统软件。但与Windows不同的是,Linux是一套开放源代码程序的,并可以......
  • Vmware 安装 Linux系统 设置 静态IP 桥接模式 无法连接网络?可能是没设置好
    可能是你没有设置好连接step.1step.2这里需要选择你电脑硬件的网卡,选其他的没用。......
  • debian 11 配置 用户为 root权限用
    记suvi/etc/sudoers默认权限是只读的#等下要改回去chmod777/etc/sudoers把root那一行复制保存后#等下要改回去chmod440/etc/sudoers......
  • 在 Linux 上配置一个 syslog 服务器
    Syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取......
  • 普罗米修斯在Linux的安装
    Prometheus(普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是GoogleBorgMon监控系统的开源版本。2012年成为社区开源项目,拥有非常活跃的开发人员和用户社区。2016年由Google发起Linux基金会旗下的原生云基金会(CloudNativeComp......
  • 关于ansible-对linux主机的连接性及sudo权限检测
    对于Linux系统的配置检测,需要从如下两个点进行检测1、对于登录连接测试,即ssh登录认证2、sudo权限的检测,这里抽查一个命令进行简单的检测创建.yaml文件,内容如下#description:Conectionandsudopermissiontestforlinuxserver#author:QQ:5201351----hosts:"{{hos......