linux查看用户操作历史
一、查看及管理当前登录用户
1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:
- 用户名称
- 用户的机器名称或tty号
- 远程主机地址
- 用户登录系统的时间
- 空闲时间(作用不大)
- 附加到tty(终端)的进程所用的时间(JCPU时间)
- 当前进程所用时间(PCPU时间)
- 用户当前正在使用的命令
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 10.1.80.56 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 10.20.48 23:01 2:53 0.01s 0.01s -bash john pts/2 10.1.80.7 23:04 0.00s 0.00s 0.00s w
此外,可以使用who am i查看使用该命令的用户及进程,使用who查看所有登录用户进程信息,这些查看命令大同小异;
2、使用pkill强制退出登录的用户
使用pkill可以结束当前登录用户的进程,从而强制退出用户登录,具体使用可以结合w命令;
首先:使用w查看当前登录的用户,注意TTY所示登录进程终端号
其次:使用pkill –9 -t pts/1 结束pts/1进程所对应用户登录(可根据FROM的IP地址或主机号来判断)
二、查看所有登录用户的操作历史
在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
PS1="`whoami`@`hostname`:"'[$PWD]'historyUSER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/dbasky ]thenmkdir /tmp/dbaskychmod 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`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
source /etc/profile 使用脚本生效
退出用户,重新登录
上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
root@zsc6:[/tmp/dbasky/root]ls10.1.80.47 dbasky.2013-10-24_12:53:08root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
查看在12:53:08从10.1.80.47登录的root用户操作命令历史
linux查看用户操作历史相关推荐
- linux 查看用户操作日志,Linux下记录所有用户的登录和操作日志
一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的数据丢失,就很难查到是谁操作的. 在这里我们通 ...
- Linux 查看用户操作记录
使用history命令,查看自己的操作记录,但如果你是root用户,如何查看其它用户的操作记录呢? 其实history命令只是把当前用户目录下的~/.bash_History文件内容列出来而已. ...
- linux 查看历史打印,2019-02-01 Linux查看用户/历史命令
1.当前登录用户信息 who: 用户名.终端类型.登陆日期以及远程主机地址. axing@ax:~$ who axing pts/0 2019-02-01 15:19 (46.xxx.170.xx) ...
- linux用户退出时自动清除last记录,Linux查看用户登陆历史记录(last命令的使用)
查看某用户 cat /home/username/.bash_history 的操作历史 使用root登陆使用last -x可查看用户登陆历史. last 命令: 功能说明:列出目前与过去登入系统的用 ...
- IP记录Linux所有用户操作日志的方法(附脚本)
按时按登录IP记录Linux所有用户操作日志的方法(附脚本) 标签: IP记录,Linux,总结,按时,方法,日志,用户操作,脚本.PS:Linux用户操作记录一般通过命令history来查看历史记录 ...
- linux命令groups,linux 查看用户所在组(groups指令的使用) 含实例
经常将某个文件夹的权限赋给某个用户的时候,也需要配置该用户所在的组,因此,我们需要查看该用户有哪些组,我们可以使用如上命令 查看用户所在组 [oracle@gl ~]$ vi /etc/group r ...
- Linux查看用户所属用户组
1.查看当前用户所属用户组 [oracle@serverhl ~]$ groups oinstall dba 2.查看<user1>, <user2> 和 <user3& ...
- Linux查看用户登录的历史记录
1.查看当前登录用户信息 who命令: who缺省输出包括用户名.终端类型.登陆日期以及远程主机. who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 (1 ...
- 服务器LINUX查看文件操作
LINUX查看文件操作 步骤命令如下: grep # 显示 key 所在行及前后5行grep -5 'key' filegrep -C 5 'key' file # 显示 key 所在行及前5行gre ...
最新文章
- linux安全加固(2)
- STL内嵌数据类型: value_type
- 《统计学习方法》(李航)读书笔记(转)
- iphone字体_iPhone 适合老人盘吗?
- securecrt使用_SecureCRT会话丢失原因及解决方法
- oracle压缩子分压,混合列压缩(HCC)在OLAP及OLTP场景中的测试
- 【数据库系统工程师复习笔记】0.考试大纲及教程目录
- win7自带截屏便签 打开命令
- 上海远丰:打破双11魔咒,让企业电商两条腿走路
- 第三章 直接连接的网络
- 有服务器风扇声音对胎儿有影响吗,怀孕期间长时间噪音对胎儿的影响有哪些
- 梯度下降算法原理 神经网络(Gradient Descent)
- iOS Instruments工具使用
- 复杂度的渐进表示法(时间复杂度)
- Chap.6 总结《CL: An Introduction》 (Vyvyan Evans)
- 移动端点击出现蓝色框的解决方案
- 当try_files遇上gateway是如何产生火花的
- SpringBoot 1.X 优雅停机 ( shutdown gracefully )
- 基于MATLAB/Simulink的电力电子电路仿真技术——单相桥式整流电路
- 音视频技术开发周刊 | 282