linux如何查看一个文件的操作历史?

1.使用w命令查看登录用户正在使用的进程信息。w命令用于显示已经登录到系统的用户的名称以及他们正在做什么。该命令中使用的信息来自/var/run/utmp文件。w命令输出的信息包括:

用户名

用户的机器名或tty号码。

远程主机地址

用户登录系统的时间。

空闲时间(用处不大)

附加到tty(终端)的进程所用的时间(JCPU时间)

当前进程花费的时间(PCPU时间)

用户当前正在使用的命令。

美元w

23:04:27上升29天,7:51,3个用户,平均负载:0.04,0.06,0.02

登录@ IDLE JCPU PCPU WHAT的用户TTY

拉梅什pts/0 10.1.80 . 56 22:57 8.00秒0.05秒0.01秒sshd:拉梅什[priv]

杰森pts/1 10 . 20 . 48 23:01 2:53 0.01s 0.01s-巴什

约翰pts/2 10.1.80 . 7 23:04 0.00s 0.00s 0.00s w

此外,您可以使用我是谁来查看使用该命令的用户和进程,使用谁来查看所有登录用户的进程信息。这些查看命令是相似的。

2.在linux系统的环境下,无论是root用户还是其他用户登录系统,我们都可以通过命令历史查看历史记录,但是如果一台服务器多个人登录,有一天因为某人的误操作导致重要数据被删除。此时查看历史(命令:history)是没有意义的(因为历史只对登录用户有效,即使是root用户也无法获取其他用户的历史)。有什么方法可以通过记录IP地址和一个登录后的用户名来实现操作的历史记录?回答:是的。

这可以通过在/etc/profile中添加以下代码来实现:

PS 1 = " ` whoami `@ ` hostname `: " '[$ PWD]'

历史

USER _ IP = ` who-u am I 2 & gt;/dev/null | awk“{ print $ NF }”| sed-e ' s/[()]//g ' ` s

if[" $用户IP" = "" ]

然后

USER_IP=`hostname '

船方不负担装货费用

如果[!-d /tmp/dbasky ]

然后

mkdir /tmp/dbasky

chmod 777 /tmp/dbasky

船方不负担装货费用

如果[!-d/tmp/DBA sky/$ {日志名} ]

然后

mkdir /tmp/dbasky/${LOGNAME}

chmod 300 /tmp/dbasky/${LOGNAME}

船方不负担装货费用

导出历史大小=4096

DT = ` date "+% Y-% M-% d _ % H:% M:% S " ` d

export hist file = "/tmp/DBA sky/$ { LOGNAME }/$ { USER _ IP } DBA sky。$DT "

chmod 600/tmp/DBA sky/$ { LOGNAME }/* DBA sky * 2 & gt;/dev/null

Source /etc/profile使用脚本生效。

注销用户,然后重新登录。

上面的脚本在系统的/tmp中创建了一个新的dbasky目录,并记录了所有登录到系统的用户及其IP地址(文件名)。每当用户登录/退出时,都会创建一个相应的文件,保存该用户在登录期间的操作历史。这种方法可以用来监控系统的安全性。

root@zsc6:[/tmp/dbasky/root]ls

10.1.80 . 47 DBA sky . 2013-10-24 _ 12:53:08

root @ zsc 6:[/tmp/DBA sky/root]cat 10.1.80 . 47 DBA sky . 2013-10-24 _ 12:53:08

查看12:53:08从10.1.80.47登录的root用户操作命令的历史。