centos按用户保存历史执行命令

centos7 按用户记录历史命令的方法

在/etc/profile文件中添加以下代码。

添加完成后执行source /etc/profile

用户重新登录即可发现history被清空了。这时可以去看/usr/share/.history文件夹,该文件夹保存了所有用户每次登录所执行过的的操作记录。

文件路径为

/usr/share/.history/用户名

/usr/share/.history/${LOGNAME}

文件名称格式为:

登录IP.history_年月日_小时分钟秒

${USER_IP}.history.%Y.{%m.%d %H:%M:%S}

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
相关推荐
笑锝没心没肺5 小时前
fail2ban工具安装配置及使用
linux·运维·服务器
大卡片7 小时前
linux内核驱动开发
linux·运维·驱动开发
心心喵8 小时前
[linux] nohup和pm2的区别 进程保活
linux·运维·服务器
醉熏的石头9 小时前
Ubuntu 中的编程语言(中)
linux·ubuntu·scala
dddwjzx12 小时前
嵌入式Linux C应用编程入门——信号
linux·嵌入式
范什么特西12 小时前
网络代理问题
java·linux·服务器
utf8mb4安全女神13 小时前
【Redis数据库】哨兵集群/redis集群/安装配置/主从复制/数据持久化操作/数据结构/安全限制/PHP redis/
linux·服务器·数据结构·数据库·redis·缓存
Zk.Sun13 小时前
Linux设置触屏双击距离容差
linux·运维·数据库
bukeyiwanshui14 小时前
20260622 安装配置ubuntu
linux·运维·ubuntu
写代码的学渣14 小时前
Linux 安装 Swap 交换分区大小标准(通用 + 生产服务器 + 个人 PC)
linux·运维·服务器