linux系统中监控用户的操作记录命令

首先我们创建一个放操作记录的日志文件

 代码如下 复制代码

touch /var/log/rootlog.txt

给这个文件相应的写权限和追加权限

 代码如下 复制代码

chmod 002 /var/log/rootlog.txt
chattr +a /var/log/rootlog.txt

编辑/etc/profile文件,末尾添加如下脚本命令

 代码如下 复制代码

export HISTORY_FILE=/var/log/usermonitor/usermonitor.log
export PROMPT_COMMAND='{ date "+%y-%m-%d %T ##### $(who am i |awk "{print $1" "$2" "$5}")  #### $(id|awk "{print $1}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'

使配置生效

 代码如下 复制代码

source /etc/profile

嘿嘿,这样就算完成了,用户的所有操作记录都会乖乖的记录在这个文件中了。

记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:

 代码如下 复制代码
PS1="`whoami`@`hostname`:"'[$PWD]'
history
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/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地址,是不是觉得很方便呢?我们还可以用这个方法来监测系统的安全性。

时间: 2024-10-02 21:31:03

linux系统中监控用户的操作记录命令的相关文章

linux系统中root用户不能登录怎么办?

问题描述 linux系统中root用户不能登录怎么办? 自从我更改了Linux系统的IP地址,root用户就不能登录了,root用户登录提示"鉴定故障".普通用户可以登录,能用su命令登录root用户,但是不能直接登录. 解决方案 如果没有给ROOT设置密码,就用普通用户登录,没有普通用户这是不可能的登录进入终端,直接输入 sudo passwd root输入普通用户密码输入你要设置的root密码重复root密码这样用root就行了 解决方案二: 终端输入:sudo gedit /us

Linux系统中管理用户和用户组的相关配置文件简介

  Linux 是一个多用户.多任务的操作系统,理解Linux的单用户多任务,多用户多任务; 用户的角色区分: 用户在系统中是分角色的,在Linux 系统中,由于角色不同,权限和所完成的任务也不同;值得注意的是用户的角色是通过UID和识别的,特别是UID;在系统管理中,系统管理员一定要坚守UID 唯一的特性; root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限; 虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,

userdel 命令 - 从Linux系统中删除用户账户

在服务器上维护用户就是添加.修改以及删除用户.当一个用户出于某种原因不再需要登录系统时,我们需要删除此用户以避免安全漏洞.在Linux系统上,我们用 userdel 命令来删除一个用户. userdel是什么 userdel 是一个底层用于删除用户的工具.在 Debian 上,我们通常会使用 deluser 命令.userdel 会查询系统账户文件,例如 /etc/password 和 /etc/group.那么它会删除所有和用户名相关的条目.在我们删除它之前,用户名必须存在. 如何使用user

Linux系统中10个最危险的命令详解

我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候.这篇文章并不打算引来你对Linux或linux 命令行的愤怒,只是想让你意识到在你运行某些命令时应该三思而后行.(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地.) 1. rm -rf 命令

Linux系统中10个最危险的命令

  我们大多数的朋友都是一辈子都用的windows系统,基本用鼠标就可以完成所有的操作,但是在Linux系统中那么基本上就是键盘+命令操作电脑的,Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候.这篇文章并不打算引来你对Linux或linux 命令行的愤怒,只是想让你意识到在你运行某些命令时应该三思而后行.(译注:当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普通用户身份下,破坏的只是自己的一亩三分地.) 1. rm -rf

linux下监控用户的操作记录

想知道用户登陆系统后都操作了什么,怎么办? 别急,linux下有一个script工具,专门记录终端会话中所有输入输出结果,并存放到指定文件中. 先看看怎么录制吧! 1.创建日志存放目录 1 2 # mkdir /opt/operation_log # chmod 777 -R /opt/operation_log 2.设置用户登陆后自动录制 1 2 3 4 5 # vi /etc/profile   #末尾追加一下内容 if [ $UID -ge 500 ]; then    exec scri

Linux系统中的gdb程序调试工具的命令知识介绍

在Linux系统中有许多的命令程序来辅助系统的正常和方便运行,那么其中在系统中有着一个叫做gdb命令的程序,那么我们今天就来了解下关于gdb命令的知识吧! 一.常规调试 gdb是Linux下常用的程序调试工具,当然前提是用gcc/g++编译时加上-g参数,这样编译出的可执行程序会加上gdb调试信息. gdb命令不少,但常用的主要包括如下命令: (1)list [file:]functuon 命令缩写是l,查看源码,不加参数时,向下显示源码,加参数-l时,向上显示源码,默认显示10行. 也可以设置

linux系统中修改IP和DNS的命令

  Linux下修改IP.DNS.路由命令行设置 ubuntu 版本命令行设置IP cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo

linux系统中监控自动化脚本

问题汇总问题1.逐渐告警,问题出现时,第一时候通知XX人,多长时间没解决,通知XXX人 问题2.问题主机出现告警时,想要获取其他相关监控值的情况,如load.cpu等,同时也可能会需要获取到其他会受影响主机的情况. 解决方法问题1 很多开源的监控产品里都有escalations功能,如常见的zabbix .nagios (这个确实是没关注到过的知识点) zabbix根据问题持续的时间发送给不同的人 来处理的配置方法: 例如:  代码如下 复制代码 1 – 5 min  mail to user_