首页 > 系统教程 > LINUX > 正文

history命令内容格式优化,显示IP,操作时间

舞姬之光
发布: 2025-01-17 22:34:22
原创
902人浏览过

history命令内容格式优化,显示ip,操作时间

增强history命令:精准记录时间、IP及用户

本方法适用于CentOS和Ubuntu系统。请注意,此配置仅记录配置生效后的命令信息,之前的命令记录无法追溯。

Linux系统原生history命令信息有限,缺乏时间戳和IP等关键细节。通过修改shell配置文件,可以实现更详细的命令记录。

若需查看所有用户的完整历史记录,请在全局配置文件/etc/profile或/etc/bash.bashrc中进行如下修改:

1. 编辑配置文件:

vim /etc/profile
登录后复制

2. 添加以下内容至文件末尾:

#add
###### history property ######
USER_IP=$(who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/\[()\]//g')
export HISTTIMEFORMAT="[%F %T] [%u] [%s]"
export HISTSIZE=10000
export HISTFILESIZE=10000
#export HISTIGNORE='ls\*:ll'  #建议不使用忽略功能
export PROMPT_COMMAND='{ whoami; } 2>&1 | awk "{print \$1}" >> /var/log/my_history_command; history 1 >> /var/log/my_history_command'
登录后复制
  • USER_IP 获取当前用户的IP地址(可能需要root权限)。
  • HISTTIMEFORMAT 设置时间戳格式,%F %T 表示年月日 时分秒,%u 为用户名,%s 为获取到的 USER_IP 变量。
  • HISTSIZE 和 HISTFILESIZE 分别设置内存和文件历史记录条数。
  • PROMPT_COMMAND 在每次提示符显示前执行命令,将用户名和IP写入日志文件,并追加当前命令到日志文件。

3. 使配置生效:

source /etc/profile
登录后复制

4. 创建并设置日志文件权限:

touch /var/log/my_history_command
chmod 666 /var/log/my_history_command
登录后复制

此方法将命令记录写入/var/log/my_history_command文件。 直接使用history命令显示IP地址不够准确,因为history仅记录当前用户登录时的IP。 此方法将所有用户的命令历史,连同时间、用户名和IP地址,完整记录在日志文件中。

再次强调:此配置仅记录配置生效后的命令。

以上就是history命令内容格式优化,显示IP,操作时间的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号