Linux檢視和剔除當前登入使用者

fiona8953發表於2017-03-28

如何在下檢視當前登入的使用者,並且踢掉你認為應該踢掉的使用者?

看了網路中的一些例子.在這裡總結一下.主要用到的命令有,w,who,ps,kill,pkill

 

檢視當前登入使用者

node8:/home # who

root     :0           2009-11-04 16:26

root     pts/0        2009-11-05 13:52 (:0.0)

linfengfeiye pts/1        2009-11-07 06:32 (118.113.209.13)

第一列是使用者名稱,
第二列是連線的終端,tty表示顯示器,pts表示遠端連線,
第三列是登陸時間,
檢視登入使用者行為:
node8:/ # w
 07:46:35 up 2 days, 15:35,  6 users,  load average: 0.03, 0.07, 0.02
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0        Wed16   ?xdm?  35:59   0.26s /opt/gnome/bin/gnome-session
root     pts/0     Thu13   21:12m  0.07s  0.49s gnome-terminal --working-direct
linfengf pts/1     06:32    0.00s  0.49s  0.00s sshd: linfengfeiye [priv] 

users 表示當前系統登陸使用者總數為6。

LOAD AVERAGE 與後面的數字一起表示系統在過去1,5,10分鐘內的負載程度,數值越小,系統負載越輕。

 

從第二行開始構成一個表格,共有8個欄目,分別顯示各個使用者正在做的事情及該使用者所佔用的系統資料。

USER:顯示登陸使用者帳號名。使用者重複登陸,該帳號也會重複出現。

TTY:使用者登陸所用的終端。

FROM:顯示使用者在何處登陸系統。

LOGIN@:是LOGIN AT的意思,表示登陸進入系統的時間。

IDLE:使用者空閒時間,從使用者上一次任務結束後,開始記時。

JCPU:一終端代號來區分,表示在某段時間內,所有與該終端相關的程式任務所耗費的CPU時間。

PCPU:指WHAT域的任務執行後耗費的CPU時間。

WHAT:表示當前執行的任務

 

當登陸系統使用者很多的時候,可以在W後面加上某個使用者名稱,則會檢視該使用者執行任務的情況
檢視linfengfeiye使用者執行任務情況
node8:/ # w linfengfeiye
 07:40:45 up 2 days, 15:29,  6 users,  load average: 0.07, 0.08, 0.02
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
linfengf pts/1     06:32    0.00s  0.48s  0.00s sshd: linfengfeiye [priv] 
檢視登陸使用者歷史
node8:/ # last
linfengf pts/1        118.113.209.13   Sat Nov  7 06:32   still logged in   
root     pts/1        118.113.209.13   Sat Nov  7 06:12 - 06:32  (00:20)    
root     pts/4        118.113.209.13   Sat Nov  7 05:15 - 06:11  (00:55)    
root     pts/2        118.113.209.13   Sat Nov  7 04:21 - 06:41  (02:20)    
sc  pts/5        222.211.247.164  Fri Nov  6 22:16 - 22:36  (00:20)    
root     pts/2        222.211.247.164  Fri Nov  6 21:53 - 22:36  (00:42)    
root     pts/4        222.211.247.164  Fri Nov  6 19:59 - 23:08  (03:08)    
sc  pts/8        222.211.247.164  Fri Nov  6 19:57 - 22:16  (02:18)    
root     pts/7        222.211.247.164  Fri Nov  6 19:42 - 22:36  (02:53)    
root     pts/6        222.212.68.214   Fri Nov  6 19:39 - 21:40  (02:00)    
sc  pts/5        222.212.68.214   Fri Nov  6 19:36 - 21:39  (02:03)   
檢視sc使用者登入歷史
node8:/ # last sc
sc  pts/5        222.211.247.164  Fri Nov  6 22:16 - 22:36  (00:20)    
sc  pts/8        222.211.247.164  Fri Nov  6 19:57 - 22:16  (02:18)     
sc  pts/6        118.113.236.146  Fri Nov  6 16:39 - 16:43  (00:03)    
sc pts/4         10.3.2.40        Fri Nov  6 11:30 - 13:42  (02:12)    

想踢除linfengfeiye這個使用者和他的所有開啟的程式
pkill -u linfengfeiye
注意:這個命令實際上很危險,要相當小心的執行 原因參考 http://www.blogguy.cn/
安全的做法是先檢視終端號,然後檢視該終端執行的所有程式,根據程式號來停止服務
安全剔除使用者
ps -ef| grep pts/0
得到使用者登入相應的程式號pid後執行.
kill -9 pid
參考:
http://www.blogguy.cn/

[gpadmin@gpdb-sandbox ~]$ cd /dev/pts

[gpadmin@gpdb-sandbox pts]$ ls



0  1  10  12  14  16  2  3  5  7  ptmx

[gpadmin@gpdb-sandbox pts]$ lsof|grep pts|wc -l

71

[gpadmin@gpdb-sandbox pts]$ lsof|grep pts|more


ssh        44324   gpadmin    0u      CHR  136,6      0t0       9 /dev/pts/6 (deleted)

ssh        44324   gpadmin    1u      CHR  136,6      0t0       9 /dev/pts/6 (deleted)

ssh        44324   gpadmin    2u      CHR  136,6      0t0       9 /dev/pts/6 (deleted)

ssh        44324   gpadmin    5u      CHR  136,6      0t0       9 /dev/pts/6 (deleted)

ssh        44324   gpadmin    6u      CHR  136,6      0t0       9 /dev/pts/6 (deleted)

bash       44328   gpadmin    0u      CHR  136,7      0t0      10 /dev/pts/7

bash       44328   gpadmin    1u      CHR  136,7      0t0      10 /dev/pts/7

bash       44328   gpadmin    2u      CHR  136,7      0t0      10 /dev/pts/7

bash       44328   gpadmin  255u      CHR  136,7      0t0      10 /dev/pts/7

[gpadmin@gpdb-sandbox pts]$ w

 23:02:02 up 29 days,  1:02, 11 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    172.16.255.1     Tue23   10:01m  0.11s  0.02s -bash

root     pts/1    172.16.255.1     22:50    0.00s  0.02s  0.00s w

root     pts/2    172.16.255.1     12:49   10:11m  0.00s  0.00s -bash

root     pts/3    172.16.255.1     Sun19    4days  1:30m  6:38  /usr/java/jdk1.8.0_121/bin/java -Dgfsh=true -Dlog4j.configurationFile=classpath:log4j2-cli.xml -classpath /home

gpadmin  pts/5    gpdb-sandbox.loc 27Dec16  9days  0.02s  0.02s -bash

gpadmin  pts/7    gpdb-sandbox.loc 26Dec16 10days  0.01s  0.01s -bash

root     pts/8    172.16.255.1     22:56    5:03   0.00s  0.00s -bash

gpadmin  pts/10   gpdb-sandbox.loc 27Dec16  9days  0.00s  0.00s -bash

gpadmin  pts/12   gpdb-sandbox.loc 27Dec16  9days  0.00s  0.00s -bash

gpadmin  pts/14   gpdb-sandbox.loc Mon04    3days  0.01s  0.01s -bash

root     pts/16   172.16.255.1     Mon06    2days  0.03s  0.03s -bash

[gpadmin@gpdb-sandbox pts]$ ps -ef|grep 44324

gpadmin   44324      1  0  2016 ?        00:00:00 /usr/bin/ssh -o BatchMode=yes -o StrictHostKeyChecking=no -q -l gpadmin gpdb-sandbox

gpadmin   95960  95443  0 23:02 pts/1    00:00:00 grep 44324

[gpadmin@gpdb-sandbox pts]$ kill 44324

[gpadmin@gpdb-sandbox pts]$ ps -ef|grep 44324

gpadmin   95962  95443  0 23:03 pts/1    00:00:00 grep 44324


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26477398/viewspace-2136172/,如需轉載,請註明出處,否則將追究法律責任。

相關文章