强制注销用户


60

当我以身份登录计算机root并键入who以查看哪些用户登录时,我发现其他人也以root用户身份登录

devuser   pts/0        2011-11-18 09:55 (xxx.xxx.xxx.xxx)
root      pts/1        2011-11-18 09:56 (xxx.xxx.xxx.xxx)
testuser  pts/2        2011-11-18 14:54 (xxx.xxx.xxx.xxx)
root      pts/3        2011-11-18 14:55 (xxx.xxx.xxx.xxx)

如何强制pts / 3上的root用户注销?


9
您还有一个更大的问题要解决。禁用直接root登录,并强制用户使用sudo。
Xenoactive 2011年

Answers:


55

您可以通过终止其父进程(称为会话领导者)来终止会话。找出它的处理过程:

ps -dN|grep pts/3

10
然后使用kill -9 <processid>
Mithun Sreedharan

5
kill <pid>足够就可以了吧?请保存kill -9s,以免严重影响进程的响应而不响应INT,HUP或TERM;这有点像使用OS的菜单系统关闭计算机与拔出计算机插头之间的区别。
TheDudeAbides

26

要杀死并注销用户,您可以发送KILL信号。输入以下命令:

# skill -KILL -u vivek

检查这些链接以获取更多信息:


6
如果我以同一用户身份登录怎么办?
Mithun Sreedharan

对于超级用户,这些命令的工作..你必须登录为超级用户。网络操作系统采用这种做法的安全性。我认为这些链接也都在说同样以管理员身份登录..
NIRANJAN辛格

sudo su -即使我是root,它也把我踢了出去,但是我想我还没有结束。回到服务器显示我是唯一的一个。我想我自己有4个实例。
pjammer 2012年

5
@Mithun您可以使用-t <terminal name>代替-u
Melebius

1
现在,cyberciti链接显示“警告!这些工具已过时,不可移植,并且由于历史原因而在此处。请考虑使用killall,pkill和pgrep命令,如下所述。” pkill -KILL -u vivek效果也一样。
EM0

0

改善Fabel的上述回答:

\# *for pid in $(for ptsn in $(w | grep **user_name** | grep pts | awk '{print $2}'); do ps -dN | grep "$ptsn " | awk '{print $1}' ; done); do kill -9 $pid; done*
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.