linux如何查看用户所有的历史 *** 作记录

linux如何查看用户所有的历史 *** 作记录,第1张

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

这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。

那有没有什么办法实现通过记录登陆后的IP地址和某用户名所 *** 作的历史记录呢?答案:有的。

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

1、当前登录用户信息 who: 用户名、终端类型、登陆日期以及远程主机地址。 who /var/log/wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 -H:打印每列的标题 users命令: 打印当前登录的用户,从上面可以看到我自己从不同主机同时登录,所以下面显示2次。 2、查看命令历史 每个用户的命令历史记录保存在 ~/.bash_history 文件里, 或者在终端输入: history 要想再执行哪条,使用 !96 重新执行该条命令。 3、last命令查看用户登录历史 此命令会读取 /var/log/wtmp文件;/var/log/btmp可以显示远程登陆信息。 last默认打印所有用户的登陆信息。 如果想打印某个用户的登陆信息,可以使用 last 用户名 一些选项: (1)-x:显示系统开关机以及执行等级信息 (2)-a:将登陆ip显示在最后一行 (3)-d:将IP地址转换为主机名 (4)-t:查看指定时间的用户登录历史 例如: 查看axing在 axing@ax:~$ last axing -a -t 20190201160000 4、lastlog命令查看所有用户最近一次登录历史 读取/var/log/lastlog文件;用户排列顺序按照/etc/passwd中的顺序 一些选项: (1) -u:查看某用户的最后一次登录记录 比如: lastlog -u axing (2) -t:查看最近几天之内的用户登录历史 比如: lastlog -t 1 查看最近1天之内的登陆历史 (3) -b:查看指定天数之前的用户登录历史 例如: lastlog -b 60 查看60天之前的用户登录历史 5、ac命令 根据/var/log/wtmp文件中的登陆和退出时间报告用户连接的时间(小时),默认输出报告总时间 需要安装: (1)-p:显示每个用户的连接时间 (2)-d:显示每天的连接时间 (3)-y:显示年份,和-d配合使用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7490200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存