最近线上阿里云服务器,发现有文件丢失的情况,却找不到是谁把文件删掉了。所以想找一个能支持操作监控的代码,放在自己的linux服务器上。自己不咋熟悉linux程序命令编写,找了几篇博客,试试改改,将成功的保存下来,以方便以后的使用或者修改优化~
-----------------------------------------------------------------------------------------------------------------------------------------------
在这里我们通过脚本代码来实现记录所以用户的登录操作日志:
编辑/etc/profile文件,在文件末尾加入下面代码:
第一步:vi /etc/profile(将下面的代码添加到源文件最后)
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
第二步:wq(保存退出)
第三步:source /etc/profile(刷新配置文件)
第四步:可以关闭退出此连接了
第五步:重连该服务,cd /var/log/history/ 目录下就已经有保存了的文件了
/var/log/history这是记录日志的存放位置,可以自定义。