zoukankan      html  css  js  c++  java
  • linux系统操作审计-让history内容更丰富

    不知道作为运维的你有没有体会过这样一种情况:

    当某天你的服务器发生异常情况,例如某个文件莫名被删除了,或者某个文件被人私自篡改,甚至是发生安全事件等等,这时你的经理找到你要你查个水落石出,于是你想看看history里有没有一些异常的操作,当你在终端里敲完history命令之后,看到的结果,却敌我难分,例如某个rm -rf的操作到底是自己人做的操作还是有人未经同意做得操作呢,此时的结果看不到详细的信息,只能看到操作的指令,但是你很想看这些指令到底是在什么时候执行的,哪个用户执行的,哪个终端执行的,甚至是终端的ssh远程IP是多少等等,遇到这些情况你可能在一阵噼里啪啦之后一筹莫展,不知道从何下手。但是别担心,今天给大家推出解决方案:

    注意事项(必读):

    • 此方案会导致所有存在的历史记录变成当前日期的时间,如果你们决定忽略以前的历史记录,那么建议先敲history -c清空历史记录,再按照以下步骤实施就是了。
    • 建议新机器第一件事就是部署该方案

    1,编辑/etc/profile

    在文件内容末尾添加如下内容:

    1 w -uh>$HOME/.cache_tty;grep "`tty|cut -d '/' -f3,4`" $HOME/.cache_tty|awk '{print $3}'>$HOME/.cache_tty_ip
    2 export HISTTIMEFORMAT="`whoami` `tty|cut -d '/' -f3,4` $(w -uh>$HOME/.cache_tty;grep "`tty|cut -d '/' -f3,4`" $HOME/.cache_tty|awk '{print $3}') %F %T "

    示例图:

    2,保存退出然后敲history命令验证是否生效:

    1 history

    如下图可以看出已经生效:

  • 相关阅读:
    删库了一定要跑路吗?爱情 36 技之记忆重生!
    程序员和他的朋友们!
    聊起 BigTable,让你不再胆怯
    [Ant Design] Warning: Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?
    Git 常用命令
    Git 名词解释
    js中void 0和undefined的区别
    js运算符优先级
    搭建React项目(低配版)
    mac常用shell指令笔记
  • 原文地址:https://www.cnblogs.com/sonwnja/p/9280739.html
Copyright © 2011-2022 走看看