Linux history命令添加操作端ip以及操作时间,如何保留操作历史等

本文介绍如何在Bash中配置命令历史记录,包括添加时间戳、用户IP和用户名,适用于不同用户和环境。通过编辑/etc/bashrc、/etc/profile及用户.bashrc文件,可实现历史命令的详细记录,便于日后查看和分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、history添加时间
编辑/etc/bashrc文件,加入如下三行:
在/etc/bashrc中加入几个环境变量,用于history命令显示用户ip等内容

#history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` 
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "
export HISTTIMEFORMAT

==
1.编辑/etc/profile 文件,再文件最后末尾加上下面代码

export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S  "

===
2、要在普通用户的命令历史记录中包含日期和时间信息,

打开用户的 .bashrc 文件进行编辑。该文件通常位于用户的家目录下。

vi ~/.bashrc
# 在文件的末尾添加如下行:这行代码会设置命令历史记录的时间格式为年-月-日 时:分:秒。
export HISTTIMEFORMAT='%F %T '

让修改生效

source ~/.bashrc

现在,用户执行的每个命令都将在 .bash_history 文件中包含日期和时间信息。

====

3、如果想保存所有用户登录的历史需要在/etc/profile中加入以下脚本(以下脚本history只显示当前开启客户端的历史,关闭客户端登录端输入的history不会显示)

#history  
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

保存history命令的地址:HISTDIR=/usr/share/.history

===================================
参考:1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值