提升服务器安装:自定义history命令历史功能
2017-04-23 00:00
288 查看
相信大家都知道linux的history命令可以查看用户的曾经执行的命令历史,而默认在用户的home下有个.bash_history的文件存放用户的命令历史,但是他的功能太简单了,下面是我从其他网页整理的脚本只需要放到你的/etc/profile文件尾部即可。
我们想要的功能:
记录命令执行时间,和用户
记录更多的命令历史
history实时查看执行的命令
####大篇幅代码预警,非战斗人员请迅速撤离####
第一段代码会让你的命令历史变成这样:
第二段代码会让你的history文件变成这样:
在/var/log/history/目录下会以每个用户的用户名创建一个文件夹,然后用户每一次登录执行的历史命令都会保存成一个文件,文件名包含了“root@192.168.16.221_20150703_03:55:56”登录用户、登录IP以及登录时间。
当然,这个history的位置是可以自定义的,建议有shell脚本经验的童鞋可以修改。
好了,以上是所有内容了.
如果你有更好的idea,欢迎来和我分享。E-mail:luchuanjia@msn.com
本文出自 “一杯白开水” 博客,请务必保留此出处http://ultraera.blog.51cto.com/6640392/1670531
我们想要的功能:
记录命令执行时间,和用户
记录更多的命令历史
history实时查看执行的命令
####大篇幅代码预警,非战斗人员请迅速撤离####
# The frist section # Set the history file size. export HISTFILESIZE=999999999 #Bigger the better. # Set the history order number. export HISTSIZE=999999 #Bigger the better. # Real-time record history command, prevent overlap between multiple users. export PROMPT_COMMAND="history -a" #Record each command execution time and user. export HISTTIMEFORMAT="%F %T `whoami` " # The second section # Check for interactive bash and that we haven't already been sourced. [ -z "$BASH_VERSION" -o -z "$PS1" -o -n "$BASH_COMPLETION_COMPAT_DIR" ] && return # Check for recent enough version of bash. bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} if [ $bmajor -gt 4 ] || [ $bmajor -eq 4 -a $bminor -ge 1 ]; then [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \ . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" if shopt -q progcomp && [ -r /usr/local/share/bash-completion/bash_completion ]; then # Source completion code. . /usr/local/share/bash-completion/bash_completion fi fi unset bash bmajor bminor history USER=`whoami` USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` if [ "$USER_IP" = "" ]; then USER_IP=`hostname` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/${LOGNAME} ]; then mkdir /var/log/history/${LOGNAME} chmod 300 /var/log/history/${LOGNAME} fi export HISTSIZE=4096 DT=`date +"%Y%m%d_%H:%M:%S"` export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT" chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
第一段代码会让你的命令历史变成这样:
第二段代码会让你的history文件变成这样:
在/var/log/history/目录下会以每个用户的用户名创建一个文件夹,然后用户每一次登录执行的历史命令都会保存成一个文件,文件名包含了“root@192.168.16.221_20150703_03:55:56”登录用户、登录IP以及登录时间。
当然,这个history的位置是可以自定义的,建议有shell脚本经验的童鞋可以修改。
好了,以上是所有内容了.
如果你有更好的idea,欢迎来和我分享。E-mail:luchuanjia@msn.com
本文出自 “一杯白开水” 博客,请务必保留此出处http://ultraera.blog.51cto.com/6640392/1670531
相关文章推荐
- 提升服务器安装:自定义history命令历史功能
- Rhyme/ linux Bash基本功能—历史命令history配置详解、修改历史命令保存条数、历史命令的调用
- Linux服务器 CentOS 6系列最小化安装优化脚本详解02————修改history记录、定时校正服务器时间、停止IPv6网络服务、调整最大文件打开数、关闭写磁盘I/O功能、配置SSH服务
- Linux 利用 PROMPT_COMMAND 实现历史命令history审计功能
- terminal下历史命令自动完成功能history auto complete
- 配置 JobhistoryServer 历史服务器,日志聚集功能,HDFS 文件系统用户权限检查,取消HDFS警告提示
- sqlplus历史命令的回调功能
- Linux中使用history命令提升效率
- Linux中history历史命令使用方法详解【转载】
- linux查询历史记录命令history的用法介绍
- Linux 命令 - history: 显示或操作历史列表
- Linux中history历史命令使用方法详解
- 【转】linux下history(历史)命令用法详解
- Linux查看历史命令 history
- RabbitMQ实践--服务器安装、配置与命令
- linux查看历史命令history
- linux查看历史命令history
- mysql的历史命令记录,~/.mysql_history
- vs2010部署报错,服务器场功能未激活,未安装在此服务器场中,无法添加到该范围,解决方案
- 一条命令树莓派安装Linux面板+Typecho网站系统+aria2下载器+AriaNg管理器+minidlna流媒体服务器