centos 记录用户登陆ip和执行命令

centos 记录用户登陆ip和执行命令

在/etc/profile 文件末尾添加如下代码:

bash 复制代码
#!/bin/bash  
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`  
HISTDIR=/usr/share/.history  
if [ -z "$USER_IP" ]; then  
    USER_IP=`hostname`  
fi  
if [ ! -d "$HISTDIR" ]; then  
    mkdir -p "$HISTDIR"  
    chmod 777 "$HISTDIR"  
fi  
if [ ! -d "$HISTDIR/${LOGNAME}" ]; then  
    mkdir -p "$HISTDIR/${LOGNAME}"  
    chmod 300 "$HISTDIR/${LOGNAME}"  
fi  
export HISTSIZE=4000  
DT=`date +%Y%m%d_%H%M%S`  
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"  
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] "  
chmod 600 "$HISTDIR/${LOGNAME}/*.history*" 2>/dev/null

可在目录/usr/share/.history 下查看记录信息

相关推荐
被遗忘的旋律.23 分钟前
Linux驱动开发笔记(十)——中断
linux·驱动开发·笔记
凡间客1 小时前
Linux防火墙-Firewalld
linux·运维·服务器
nnerddboy1 小时前
Linux嵌入式自学笔记(基于野火EBF6ULL):1.配置环境
linux·笔记·单片机·嵌入式硬件
Justin_192 小时前
Linux防火墙firewalld
大数据·linux·运维
皆过客,揽星河3 小时前
Linux上安装MySQL8详细教程
android·linux·hadoop·mysql·linux安装mysql·数据库安装·详细教程
青草地溪水旁3 小时前
Unix/Linux 系统中的 `writev` 系统调用
linux·unix·writev
Justin_193 小时前
Linux-Shell编程之sed和awk
linux·运维·服务器
Akshsjsjenjd3 小时前
深入理解 Shell 循环与函数:语法、示例及综合应用
linux·运维·自动化·shell
塔中妖4 小时前
【华为OD】Linux发行版的数量
linux·算法·华为od
半桔4 小时前
【Linux手册】消息队列从原理到模式:底层逻辑、接口实战与责任链模式的设计艺术
java·linux·运维·服务器