灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2558回复:0

通过登陆IP记录Linux所有用户登录所操作的日志

楼主#
更多 发布于:2012-10-12 12:39

通过登陆IP记录Linux所有用户登录所操作的日志

 

 

 

对于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


喜欢0 评分0
游客

返回顶部