linux中跟踪每个用户对主机的操作,看有人之前已经写过如此shell,可直接参考,参考如下:

1.记录操作信息

这个脚本需添加至/etc/profile
脚本如下:
# file name record1.

history
USER_IP=`who -u am i >/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi if [ ! -d /tmp/operation ]
then
mkdir /tmp/operation
chmod /tmp/operation
fi if [ ! -d /tmp/operation/${LOGNAME} ]
then
mkdir /tmp/operation/${LOGNAME}
chmod /tmp/operation/${LOGNAME}
fi export HISTSIZE= DT=`date +%Y%m%d` # file=`find /tmp/operation/${LOGNAME}/ |awk '/'$DT'$/'`
file=/tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT
if [ -e "$file" ]
then
export HISTFILE="/tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT.tmp"
tmpfile=/tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT.tmp
if [ -e "$tmpfile" ]
then
cat /tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT.tmp >> $file
fi
else
export HISTFILE="/tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT"
fi
rm -f /tmp/operation/${LOGNAME}/${USER_IP}-susworld.$DT.tmp
chmod /tmp/operation/${LOGNAME}/*susworld* 2>/dev/null

该脚本将记录凡用户登陆后进行的任何操作,并生成对应用户当日的操作日志共日后查询。

2.查询操作信息

配合下面这个shell,进行查询,使用起来更加方便。

#!/bin/sh -
# filename getrecord user=
time= while [ $# -gt ]
do
case $ in
-u|--user) user=$
shift
;;
-t|--time) time=$
shift
;;
-*) echo "$0:$1 Wrong Options!" >&
shift
exit
;;
--) break
;;
*) break
;;
esac
done if [ -z "$user" ]
then
user=${LOGNAME}
fi if [ -z "$time" ]
then
time=`date +%Y%m%d`
fi file=`find /tmp/operation/$user/ |awk '/'$time'$/'`
cat $file

此段shell通过接收用户及时间参数来查看某用户的历史操作记录,如:
# getrecord -u root -t 20101223     --查看root在12月23号对服务器做的记录
如果不给定参数,shell将提取当前登陆用户及当日时间来进行查询.

也可以将此shell添加到bin中,直接使用命令来查询:
# mv getrecord ~/bin
# getrecord

3.其他查询操作命令

参考这个

一些异常用户试图移去系统上的所有活动记录(比如 ~/.bash_history), 不过我们可以使用专门的工具来监视所有用户执行的命令. 推荐你使用进程记帐来记录用户的活动, 你可以通过进程记帐查看每一个用户执行的命令, 包括CPU时间和内存占用.

  psacct程序提供了几个进程活动监视工具: ac, lastcomm, accton和sa.

  .ac命令显示用户连接时间的统计.

  .lastcomm命令显示系统执行的命令.

  .accton命令用于打开或关闭进程记帐功能.

  .sa命令统计系统进程记帐的情况.

【Linux】Linux下跟踪记录每个用户对主机服务器进行的操作的更多相关文章

  1. Linux系统下给非root用户添加sudo权限

    Linux系统下给非root用户添加sudo权限 有时,在linux系统中非root用户运行sudo命令,会提示类似信息:  xxx is not in the sudoers file. This ...

  2. Linux系统下授权MySQL账户访问指定数据库和数据库操作

    Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全 ...

  3. Linux系统下查看已经登录用户并踢出的方法

    LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务. 查看用户的操作 查看当前用户: [ROOT@LOCALHOST ROOT] # W                    ...

  4. [Linux]Ubuntu下如何将普通用户提升到root权限

    转至:http://jingyan.baidu.com/album/6181c3e0780131152ef153ff.html?picindex=0&qq-pf-to=pcqq.c2c  在u ...

  5. linux 记录所有用户bash操作日志

    记录所有用户登录系统的任何操作日志,以便有据可查. 1.编辑 /etc/profile文件.   1 # vim /etc/profil 2. 在其后添加如下内容   1 2 3 4 5 6 7 8 ...

  6. 在Linux下记录所有用户的登录和操作日志

    一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的数据丢失,就很难查到是谁操作的. 在这里我们通 ...

  7. Linux下记录所有用户的登录和操作日志

    Linux下记录所有用户的登录和操作日志   一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的 ...

  8. Linux下记录登录用户历史操作

    前言:众所周知Linux是一个可以同时让多个用户登录的操作系统,每个用户的操作都影响着Linux运行,除了要做好安全工作以外,防止人为恶意损坏也是很关键的,比如有人恶意执行危险命令,要查找就得记录所有 ...

  9. Linux 记录所有用户登录和操作的详细日志

    1.起因 最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行 ...

随机推荐

  1. 【BZOJ 3676】[Apio2014]回文串

    [链接] 链接 [题意] 给你一个字符串s. 定义一个子串的出现值为它出现的次数*字符串的长度. 让你求里面的回文子串的最大出现值 |s|<=3e5 [题解] 马拉车算法里面. 只有在回文往外扩 ...

  2. wxWidgets初学者导引(2)——下载、安装wxWidgets

    wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith ...

  3. backbone Model

    requirejs.config({ baseUrl: 'js/lib', paths:{ app: '../app' } }) // Start the main app logic. //requ ...

  4. centos下载安装mysql,并设置远程访问

    思路 获取安装文件→配置好路径→安装→设置权限→处理常见的问题. 1.下载 先建议去官网看看https://dev.mysql.com/,然后根据自己的常识找到下载路径.同时也找到最新版本. 下载方式 ...

  5. python 反转列表

    翻转一个链表 您在真实的面试中是否遇到过这个题? Yes 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 步骤是这样的: ...

  6. java学习笔记(7)——I/O流

    一.File类 File(File parent, String child); File(Stirng filename); ------------------------------------ ...

  7. Virtualization of iSCSI storage

    This invention describes methods, apparatus and systems for virtualization of iSCSI storage. Virtual ...

  8. python发送电子邮件

    或者收发邮件都得小心翼翼的,怕一不小心被有心人瞧见,又得被说说. 为了能发邮件而不被发现,嘿嘿.我就用python写了个邮件发送程序,用控制台控制,不了解的人一定以为哥还在编程工作呢.哈哈. 以下简介 ...

  9. 通通WPF随笔(2)——自己制作轻量级asp.net网站服务

    原文:通通WPF随笔(2)--自己制作轻量级asp.net网站服务 大学玩asp.net时就发现VS在Debug时会起一个web服务,这东西也太神奇了服务起得这么快,而相对于IIS又这么渺小. 前几个 ...

  10. 利用WIX制作安装包(3)

    原文 利用WIX制作安装包(3) 利用WIX安装服务非常简单.只需要短短几句话就可以.当我们创建好一个Windows服务之后.我们在项目中创建一个Service.wxs 文件来安装服务,并且编辑代码如 ...