通过登陆IP记录Linux所有用户登录所操作日志的方法
发布时间:2012-10-13 16:03:10 作者:佚名 我要评论
对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢
对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了。那么依然要存有历史操作记录应该如何来实现呢?
其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:
[root@server ~]# cat >>/etc/profile<< EOF
>
> 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 /tmp/history ]; then
> mkdir /tmp/history
> chmod 777 /tmp/history
> fi
>
> if [ ! -d /tmp/history/${LOGNAME} ]; then
> mkdir /tmp/history/${LOGNAME}
> chmod 300 /tmp/history/${LOGNAME}
> fi
>
> export HISTSIZE=4096
>
> DT=`date +"%Y-%m-%d_%H:%M:%S"`
>
> export HISTFILE="/tmp/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"
>
> chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null
>
> EOF
[root@server ~]# source /etc/profile
[root@server ~]# logout
# 此时需要退出系统再重新登录,在/tmp/history/目录下才有记录
通过上面的脚本代码可以看出来,在系统的/tmp下就新建了个history目录(这个目录可以自定义),在目录中记录了所有的登陆过系统的用户和IP地址,这也是监测系统安全的方法之一。在进行一系列的操作之后,我们进入/tmp/history目录查看历史记录:
[root@server ~]# cd /tmp
[root@server tmp]# ll
总计 24
drwx------ 2 root root 4096 2012-10-11 gconfd-root
drwxrwxrwx 3 root root 4096 2012-10-11 history
drwx------ 2 root root 4096 08-11 01:11 keyring-Ki8IOJ
srwxr-xr-x 1 root root 0 2012-10-11 mapping-root
srw------- 1 root root 0 2012-10-11 scim-panel-socket:0-root
drwx------ 2 root root 4096 2012-10-11 ssh-jPPigl3182
drwx------ 2 root root 4096 10-10 21:16 ssh-KDmPtr3350
[root@server tmp]# cd history/
[root@server history]# ll
总计 4
d-wx------ 2 root root 4096 10-10 21:16 root
[root@server history]# cd root/
[root@server root]# ll
总计 4
-rw------- 1 root root 37 10-10 21:16 root@192.168.1.96_history.2012-10-10_21:16:42
其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:
复制代码
代码如下:[root@server ~]# cat >>/etc/profile<< EOF
>
> 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 /tmp/history ]; then
> mkdir /tmp/history
> chmod 777 /tmp/history
> fi
>
> if [ ! -d /tmp/history/${LOGNAME} ]; then
> mkdir /tmp/history/${LOGNAME}
> chmod 300 /tmp/history/${LOGNAME}
> fi
>
> export HISTSIZE=4096
>
> DT=`date +"%Y-%m-%d_%H:%M:%S"`
>
> export HISTFILE="/tmp/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"
>
> chmod 600 /tmp/history/${LOGNAME}/*history* 2>/dev/null
>
> EOF
[root@server ~]# source /etc/profile
[root@server ~]# logout
# 此时需要退出系统再重新登录,在/tmp/history/目录下才有记录
通过上面的脚本代码可以看出来,在系统的/tmp下就新建了个history目录(这个目录可以自定义),在目录中记录了所有的登陆过系统的用户和IP地址,这也是监测系统安全的方法之一。在进行一系列的操作之后,我们进入/tmp/history目录查看历史记录:
复制代码
代码如下:[root@server ~]# cd /tmp
[root@server tmp]# ll
总计 24
drwx------ 2 root root 4096 2012-10-11 gconfd-root
drwxrwxrwx 3 root root 4096 2012-10-11 history
drwx------ 2 root root 4096 08-11 01:11 keyring-Ki8IOJ
srwxr-xr-x 1 root root 0 2012-10-11 mapping-root
srw------- 1 root root 0 2012-10-11 scim-panel-socket:0-root
drwx------ 2 root root 4096 2012-10-11 ssh-jPPigl3182
drwx------ 2 root root 4096 10-10 21:16 ssh-KDmPtr3350
[root@server tmp]# cd history/
[root@server history]# ll
总计 4
d-wx------ 2 root root 4096 10-10 21:16 root
[root@server history]# cd root/
[root@server root]# ll
总计 4
-rw------- 1 root root 37 10-10 21:16 root@192.168.1.96_history.2012-10-10_21:16:42
相关文章
- 在日常运维作业中,经常会碰到路由表的操作,下面就linux运维中的路由操作做一梳理,详细请看下文介绍2024-02-03
deepin任务栏不显示怎么办deepin任务栏消失不见的解决办法
如果你在deepin系统中遇到任务栏出不来的情况,请使用以下两种有效的解决方法处理,详细请看下文介绍2024-01-22- 作为一个Linux管理员,管理 Linux 服务器上的磁盘空间是一项重要任务,该怎么查看电脑的磁盘空间呢?详细请看下文介绍2024-01-22
Linux和Windows系统怎么选 Linux与Windows系的区别介绍
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争,Linux系统与Windows系统文件权限究竟区别在哪里,详细请看下文介绍2024-01-22如何解决linux解压rar 乱码问题? Linux解压RAR文件时乱码问题的解决办
对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压它们,如果遇到解压乱码该怎么办呢?详细请看下文介绍2024-01-09- 我们可以选择商业软件或者老牌的免费开源SSH工具,这几款SSH客户端工具,你看看有喜欢的没有,2024-01-03
Linux服务器安装netstat命令的方法及netstat应用案例
netstat是一个常用的网络工具,用于显示网络连接、路由表、网络接口信息等,在Linux系统中,netstat命令通常已经预装了,如果没有安装可以通过以下步骤进行安装2024-01-03- 这篇文章主要为大家介绍了Linux定时任务crontab的命令编辑运行,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-16
- 这篇文章主要介绍了Linux用户态切换内核态的方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-11-03
Linux(KDE)使用Network Settings设置静态ip详细教程
这篇文章主要为大家介绍了Linux(KDE)使用Network Settings设置静态ip详细教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-10-31
最新评论