Linux下记录登录用户历史操作
前言:众所周知Linux是一个可以同时让多个用户登录的操作系统,每个用户的操作都影响着Linux运行,除了要做好安全工作以外,防止人为恶意损坏也是很关键的,比如有人恶意执行危险命令,要查找就得记录所有用户名,登录用户,用户的IP地址,执行时间,执行的命令就很重要。分享一个脚本,可以记录所有用户使用过的操作命令外,还能记录登录的Key的用户,登录IP,时间等。
user_ip=`who -u am i 2>/dev/null | awk '{print $NF}'| sed -e 's/[()]//g'`
ssh_key=$(ssh-add -L|awk '{print $2}' | xargs -i grep '{}' ~/.ssh/authorized_keys |awk '{print $3}')
hisdir=/data/ops/.history
if [ -z ${user_ip} ];then
user_ip=$(hostname)
fi
if [ ! -d ${hisdir} ];then
mkdir -p ${hisdir}
chmod 777 ${hisdir}
fi
if [ ! -d ${hisdir}/${LOGNAME} ];then
mkdir -p ${hisdir}/${LOGNAME}
chmod 300 ${hisdir}/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y-%m-%d_%H:%M:%S`
export HISTFILE="${hisdir}/${LOGNAME}/${user_ip}_${ssh_key}_history.$DT"
export HISTTIMEFORMAT='%Y-%m-%d-%H:%M:%S: '
chmod 600 ${hisdir}/${LOGNAME}/*.history* 2>/dev/null
把脚本放到/etc/profile.d/目录下面,每次用户登录即可生效
效果如下:

以_分割,第一是用户的登录IP,第二个是KEY的名字后面接着是日期时间,下面是操作过的命令

Linux下记录登录用户历史操作的更多相关文章
- Linux下记录所有用户的登录和操作日志
Linux下记录所有用户的登录和操作日志 一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的 ...
- Linux 查看所有登录用户的操作历史
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据.这时 ...
- 在Linux下记录所有用户的登录和操作日志
一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的数据丢失,就很难查到是谁操作的. 在这里我们通 ...
- linux(centos 6)下记录所有用户的操作以及ip、时间
编辑/etc/profile文件,在文件末尾加入下面代码: [root@iZ23nn1p4mjZ root]# vi /etc/profile history USER=`whoami` USER_I ...
- linux下GPIO的用户层操作(sysfs)
linux的GPIO通过sysfs为用户提供服务,下面是linux kernel里的说明文档,学习一下. GPIO Sysfs Interface for Userspace ============ ...
- centos 7 查看所有登录用户的操作历史
2019-01-07 转自 https://www.cnblogs.com/kevingrace/p/7373146.html centos 7 查看所有登录用户的操作历史 在Linux系统的环境下 ...
- linux下history命令显示历史指令记录的使用方法
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中.默认保存1000条,你也可以更改这个值 ...
- Linux 下创建 sftp 用户并限定目录
Linux 下创建 sftp 用户并限定目录 1.创建 sftpUser 用户组 [root@XXX ~]# groupadd sftpUser 2.创建 sftpUser 用户并指定目录 [root ...
- linux下非root用户的sudo问题
linux下的root用户是个超级管理员,一般是不用这个用户登录进行操作的,但有时候需要root权限,又不想切换用户的话可以使用sudo命令.但是不是所有的用户都可以使用sudo命令的. 首先可能会遇 ...
随机推荐
- .Net程序内存泄漏解析
一.概要 大概在今年三月份的时候突然被紧急调到另外一个项目组解决线上内存泄漏问题.经过两周的玩命奋战终于解决了这个问题这里把心路历程及思路分享给大家.希望可以帮助到各位或现在正遇到这样事情的小伙伴提供 ...
- 设计原则:里式替换原则(LSP)
系列文章 设计原则:单一职责(SRP) 设计原则:开闭原则(OCP) 设计原则:里式替换原则(LSP) 设计原则:接口隔离原则(ISP) 设计原则:依赖倒置原则(DIP) 何谓高质量代码? 理解RES ...
- Pytorch系列:(三)模型构建
nn.Module 函数详解 nn.Module是所有网络模型结构的基类,无论是pytorch自带的模型,还是要自定义模型,都需要继承这个类.这个模块包含了很多子模块,如下所示,_parameters ...
- OpenCV 之 空间刚体变换
刚体就是 "刚性物体",它在运动过程中,内部各质点间的相对位置不会改变,也即 每两个质点间的距离 保持不变 假设刚体内任意两个质点,坐标分别为 $(x_1, y_1, z_1)$ ...
- SpringIOC框架简单实现(注解实现)
SpringIOC框架简单实现(注解实现) 前情回顾 SpringIOE简单介绍 运用注解的方式来实现IOC 首先,让我们来创建一个Dog类 @Component("dog")// ...
- @unittest.skip(reason):强制跳转。reason是跳转原因
在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 ...
- shackdow-socks 搭建
搭建步骤 wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadow-1-socks_install/m ...
- DVWA之Brute Force
DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...
- Python脚本破解压缩文件口令(zipfile)
环境:Windows python版本2.7.15 Python中操作zip压缩文件的模块是 zipfile . 相关文章:Python中zipfile压缩文件模块的使用 我们破解压缩文件的口令也是用 ...
- Burpsuite工具的使用
目录 Burpsuite Proxy代理模块 Repeater模块(改包,重放) Intruder模块(爆破) Target模块 position模块 Payloads模块 Options模块 一处爆 ...