Linux下查看用户登陆后的操作记录

简介:
Linux下查看用户登陆后的操作记录 在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台 服务器多人登陆,一天因为某人误操作了删除了重要的数据。 这时候通过查看历史记录(命令:history)是没有什么意义了。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录 呢?答案:有的。 通过在/etc/profile里面加入以下代码就可以实现: PS1=`whoami`@`hostname`:'[$PW

Linux下查看用户登陆后的操作记录   在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台 服务器多人登陆,一天因为某人误操作了删除了重要的数据。

  这时候通过查看历史记录(命令:history)是没有什么意义了。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录 呢?答案:有的。

  通过在/etc/profile里面加入以下代码就可以实现:

  PS1="`whoami`@`hostname`:"'[$PWD]'

  history

  USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`         #print $NF取最后一个域的字段

  if [ "$USER_IP" = "" ]

  then

  USER_IP=`hostname`

  fi

  if [ ! -d /tmp/dbasky ]

  then

  mkdir /tmp/dbasky

  chmod 777 /tmp/dbasky

  fi

  if [ ! -d /tmp/dbasky/${LOGNAME} ]

  then

  mkdir /tmp/dbasky/${LOGNAME}

  chmod 300 /tmp/dbasky/${LOGNAME}

  fi

  export HISTSIZE=4096

  DT=`date " %Y%m%d_%H%M%S"`

  export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"

  chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

  其实通过上面的代码不能看出来,在系统的/tmp新建个dbasky目录,在目录中记录了所有的登陆过系统的用户和IP地址,是不是觉得很方便 呢?我们还可以用这个方法来监测系统的安全性。

 

可以看到在使用history命令的时候是没时间显示,不知道这个命令是什么时候所执行,这个时候可以编辑/etc/bashrc文件,加入如下三 行:   HISTFILESIZE=2000

HISTSIZE=2000


HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”


export HISTTIMEFORMAT



保存后退出,关闭当前shell,并重新登录


这个时候,在~/.bash_History文件中,就有记录命令执行的时间了



本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/326585

相关文章
|
存储 网络协议 Ubuntu
【Linux开发实战指南】基于UDP协议的即时聊天室:快速构建登陆、聊天与退出功能
UDP 是一种无连接的、不可靠的传输层协议,位于IP协议之上。它提供了最基本的数据传输服务,不保证数据包的顺序、可靠到达或无重复。与TCP(传输控制协议)相比,UDP具有较低的传输延迟,因为省去了建立连接和确认接收等过程,适用于对实时性要求较高、但能容忍一定数据丢失的场景,如在线视频、语音通话、DNS查询等。 链表 链表是一种动态数据结构,用于存储一系列元素(节点),每个节点包含数据字段和指向下一个节点的引用(指针)。链表分为单向链表、双向链表和循环链表等类型。与数组相比,链表在插入和删除操作上更为高效,因为它不需要移动元素,只需修改节点间的指针即可。但访问链表中的元素不如数组直接,通常需要从
651 2
|
安全 Linux 数据安全/隐私保护
linux root登陆,密码正确但,错误提示su: Authentication failure
通过系统化的排查和解决方案,可以有效应对 `su: Authentication failure` 问题,确保系统安全和用户权限的正确管理。
6660 36
|
网络协议 Linux 网络安全
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
在CentOS 7中,新引入了firewalld服务(防火墙),取代了CentOS 6之前的iptables服务(防火墙)。
247 5
入职必会-开发环境搭建39-Linux常用操作-Linux防火墙操作
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
|
监控 安全 Linux
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-1
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯
Linux驱动入门 —— 利用寄存器操作GPIO进行LED点灯-2
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
437 1
|
Linux 应用服务中间件 网络安全
linux 初始化全部操作
linux 初始化全部操作
164 1
|
Linux 芯片 Ubuntu
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯
Linux驱动入门 —— 利用引脚号操作GPIO进行LED点灯