查看linux系统中当前登陆用户,并踢掉非法账户
主要涉及到的相关命令如:
who/w/ps/kill/pkill/killall
查看当前登录用户:
[root@localhost ~]# who
root pts/1 2010-08-09 08:05 (192.168.1.191)
kaifa pts/2 2010-08-09 09:07 (192.168.1.191)
[root@localhost ~]#
第一列是用户名,
第二列是连接的终端,tty表示显示器,pts表示远程连接,
第三列是登陆时间,
查看登录用户行为:
[root@localhost ~]# w
09:11:36 up 81 days, 13:12, 2 users, load average: 0.30, 0.40, 0.20
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.1.191 08:05 0.00s 0.07s 0.00s w
kaifa pts/2 192.168.1.191 09:07 3.00s 0.03s 0.02s vim kaifa.sh
[root@localhost ~]#
users 表示当前系统登陆用户总数为2。
LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。
JCPU:一终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后耗费的CPU时间。
WHAT:表示当前执行的任务
当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况
查看kaifa用户执行任务情况
[root@localhost ~]# w kaifa
09:12:26 up 31 days, 13:13, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
kaifa pts/2 192.168.1.191 09:07 53.00s 0.03s 0.02s vim kaifa.sh
[root@localhost ~]#
查看登陆用户历史
[root@localhost ~]# last
kaifa pts/2 192.168.1.191 Mon Aug 9 09:07 still logged in
root pts/1 192.168.1.191 Mon Aug 9 08:05 still logged in
root pts/1 192.168.1.191 Sun Aug 8 21:23 - 22:39 (01:15)
查看sc用户登录历史
[root@localhost ~]# last kaifa
kaifa pts/2 192.168.1.191 Mon Aug 9 09:07 still logged in
kaifa pts/4 192.168.1.191 Thu Jul 29 14:25 - 16:56 (02:31)
kaifa pts/5 192.168.1.191 Fri Jul 23 18:49 - 18:50 (00:00)
kaifa pts/4 192.168.1.191 Fri Jul 23 18:49 - 18:49 (00:00)
kaifa pts/1 192.168.1.191 Wed Jul 21 18:01 - 21:02 (03:00)
kaifa pts/4 192.168.1.191 Wed Jul 21 13:56 - 18:01 (04:04)
kaifa pts/1 192.168.1.191 Tue Jul 20 17:07 - 17:46 (00:39)
wtmp begins Wed May 12 18:38:10 2010
想踢除kaifa这个用户和他的所有开启的程序
[root@localhost ~]# pkill -u kaifa
注意:这个命令实际上很危险,要相当小心的执行,因为这个用户的所有操作都将立即截止并不保存。
安全的做法是先查看终端号,然后查看该终端执行的所有进程,根据进程号来停止服务
安全剔除用户--得到用户登录相应的进程号pid后执行.
[root@localhost ~]# ps -ef |grep pts/2
我把pts/1踢掉(只有root才能去踢掉用户)
[root@chengest ~]# pkill -kill -t pts/1
[root@chengest ~]# pkill -kill -t pts/2
查看是不是踢掉
[root@chengest ~]# w
[root@localhost ~]# kill -9 pid
who/w/ps/kill/pkill/killall
查看当前登录用户:
[root@localhost ~]# who
root pts/1 2010-08-09 08:05 (192.168.1.191)
kaifa pts/2 2010-08-09 09:07 (192.168.1.191)
[root@localhost ~]#
第一列是用户名,
第二列是连接的终端,tty表示显示器,pts表示远程连接,
第三列是登陆时间,
查看登录用户行为:
[root@localhost ~]# w
09:11:36 up 81 days, 13:12, 2 users, load average: 0.30, 0.40, 0.20
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.1.191 08:05 0.00s 0.07s 0.00s w
kaifa pts/2 192.168.1.191 09:07 3.00s 0.03s 0.02s vim kaifa.sh
[root@localhost ~]#
users 表示当前系统登陆用户总数为2。
LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。
JCPU:一终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后耗费的CPU时间。
WHAT:表示当前执行的任务
当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况
查看kaifa用户执行任务情况
[root@localhost ~]# w kaifa
09:12:26 up 31 days, 13:13, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
kaifa pts/2 192.168.1.191 09:07 53.00s 0.03s 0.02s vim kaifa.sh
[root@localhost ~]#
查看登陆用户历史
[root@localhost ~]# last
kaifa pts/2 192.168.1.191 Mon Aug 9 09:07 still logged in
root pts/1 192.168.1.191 Mon Aug 9 08:05 still logged in
root pts/1 192.168.1.191 Sun Aug 8 21:23 - 22:39 (01:15)
查看sc用户登录历史
[root@localhost ~]# last kaifa
kaifa pts/2 192.168.1.191 Mon Aug 9 09:07 still logged in
kaifa pts/4 192.168.1.191 Thu Jul 29 14:25 - 16:56 (02:31)
kaifa pts/5 192.168.1.191 Fri Jul 23 18:49 - 18:50 (00:00)
kaifa pts/4 192.168.1.191 Fri Jul 23 18:49 - 18:49 (00:00)
kaifa pts/1 192.168.1.191 Wed Jul 21 18:01 - 21:02 (03:00)
kaifa pts/4 192.168.1.191 Wed Jul 21 13:56 - 18:01 (04:04)
kaifa pts/1 192.168.1.191 Tue Jul 20 17:07 - 17:46 (00:39)
wtmp begins Wed May 12 18:38:10 2010
想踢除kaifa这个用户和他的所有开启的程序
[root@localhost ~]# pkill -u kaifa
注意:这个命令实际上很危险,要相当小心的执行,因为这个用户的所有操作都将立即截止并不保存。
安全的做法是先查看终端号,然后查看该终端执行的所有进程,根据进程号来停止服务
安全剔除用户--得到用户登录相应的进程号pid后执行.
[root@localhost ~]# ps -ef |grep pts/2
我把pts/1踢掉(只有root才能去踢掉用户)
[root@chengest ~]# pkill -kill -t pts/1
[root@chengest ~]# pkill -kill -t pts/2
查看是不是踢掉
[root@chengest ~]# w
[root@localhost ~]# kill -9 pid