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配合使用欢迎分享,转载请注明来源:内存溢出
评论列表(0条)