服务器记录登录主机信息,【Linux】Linux下跟踪记录每个用户对主机服务器进行的操作...

该博客介绍了如何在Linux系统中跟踪并记录每个用户对主机的操作。通过修改`/etc/profile`文件,设置脚本来记录用户登陆后的所有操作,并生成对应用户当天的操作日志。此外,还提供了一个查询脚本,允许根据用户和日期查询历史操作记录。这些日志有助于监控和排查潜在的安全问题或误操作。
摘要由CSDN通过智能技术生成

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系统下给非root用户添加sudo权限

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

前端必备的js知识点(转载)

1.本文主体源自:http://www.cnblogs.com/coco1s/p/4029708.html,有兴趣的可以直接去那里看,也可以看看我整理加拓展的.2.js是一门什么样的语言及特点?    ...

ORACLE百万记录SQL语句优化技巧

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...

每天一个linux命令(28):tar命令

通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...

sysctl.conf

linux系统接口 允许改变正在运作linux系统接口Tcp/IP堆栈和虚拟内存系统的高级选项 用来控制Linux网络配置/proc/sys/net/core/ TCP/IP参数修改添加到/etc/s ...

SQL语句对应的LINQ和Lambda语句

1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq:    from s in Student ...

初识Jmeter(一)

倒霉熊的推荐: 文本学习网址:http://m.open-open.com/m/doc/category/105 视频学习网址: 软件学习网:http://www.ask3.cn/index.html ...

swift3.0 顶部状态栏隐藏

横屏进入手机状态栏是隐藏的,但是调用了相册选去图片后顶部状态栏又显示了出来,网上查阅按照以下方式: override var prefersStatusBarHidden: Bool{ return ...

redis配置文件之复制

主从复制使用slaveof将Redis实例作为另一个Redis服务器的副本. 1) Redis复制是异步的,master可以配置成如果它连接的slave没有达到给定的数量,就停止接受写入.2) 如果断 ...

Flex布局—语法篇

网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

MacBook Apache服务

想着如何在Mac OS下部署静态网页(纯粹的html,css,js),用惯了windows下的iis,可惜Mac OS下也许只能通过Tomcat或者Apache之类的作为部署容器.听说Mac OS下自 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值