红联Linux门户
Linux帮助

[linux]踢出某正在访问的用户||永久禁止某IP访问

发布时间:2017-03-29 15:05:41来源:cnblogs.com/haochuang作者:念槐聚
局域网或者服务器使用时候,可能会有未知IP也来访问。影响我们目前的工作,这时候不知道此IP是谁的,也就只能“痛下杀手”,踢掉他。方法如下:
 
一、踢掉某正在连接IP的方法:
1、运行 "who" 查看登录用户的IP和TTY
2、运行 "pkill -KILL -t $TTY" ,$TTY为上面所查到的结果。
操作之后对应的IP就会被踢出。
有人可能会问,有没有方法让这个IP永远都别访问,答案是有的,看下面:
 
二、永久禁止某IP访问此服务器:
iptables -A OUTPUT -d 被禁止的域名 -j DROP
禁止某IP用户登录:
iptables -I INPUT -s 192.168.×.× -j DROP
禁止:iptables -I INPUT -s 192.168.×.× -j DROP
禁止:iptables -A OUTPUT -d 192.168.×.× -j DROP
放开某IP访问:
iptables -I INPUT -s 192.168.×.× -j ACCEPT
放开:iptables -A OUTPUT -d 192.168.×.× -j ACCEPT
放开:iptables -I INPUT -s 192.168.×.× -j ACCEPT
放开访问限制之后最好重启防火墙:
service iptables restart
 
三、三步完成踢人参考:
1、先列出当前系统已经登录的用户,记下想要KILL掉的用户名及登录时间
[lifeccp@iZ251vwb73cZ ~]$ w
10:07:45 up 296 days, 9:06, 4 users, load average: 0.36, 0.34, 0.35
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
lifeccp pts/0 113.134.38.112 09:06 2:25 0.02s 0.01s ssh -p 10014 lifeccp@localhost
root pts/1 114:S.0 09Jun16 181days 0.03s 0.03s /bin/bash
lifeccp pts/3 113.134.38.112 08:59 1:41 0.01s 0.00s ssh -p 10014 lifeccp@localhost
lifeccp pts/4 113.134.38.112 09:55 0.00s 0.03s 0.00s w
2、找到要KILL掉的用户进程
[lifeccp@iZ251vwb73cZ ~]$ ps aux |grep @pts
lifeccp 2606 0.0 0.0 103332 840 pts/4 S+ 10:11 0:00 grep @pts
lifeccp 29676 0.0 0.0 100008 1832 ? S 08:58 0:00 sshd: lifeccp@pts/0,pts/3,pts/4
3、kill用户进程
kill 29676
 
四、关于远程连接踢人以及pts与tty1的解释补充
可参考命令:
踢人:
fuser -k /dev/pts/1
fuser -k /dev/tty1
另外,补充一下关于tty以及pts方面的说明:
如果说ttyx代表的是不同的控制台,那么我的进程中由tty1--------tyy6,怎么会6个控制台啊,重启之后远程连接后也是这样。还有pts/0,pts/1,pts/2是什么含义呢?
如果用w命令发现有外来ip联入进来,我该如何将其会话注销掉呢?
pts/0,pts/1,pts/2 是指你从远程登录的终端号 (不信你可以远程登录后用w 看看) 而tty1到tyy6是在linux机器上的终端号
补充:TTY默认为6个,最多可支持23个。
tty1到tyy6是在linux机器上的终端号?请问是机器上什么的终端号啊?
tty0-6是linux本地要终端,可能有一些应用程序需要用到,pts/0-2是远程登陆需要的终端,比如某人要telnet到你的机子,就需要你的系统有pts/x。
ps auxw|grep pst/x kill -9 PID号
atl+F(1-6)切换
是alt,写错了
tty[1-6]就是用ctr+alt+f[1-6]所看到的那个终端了. 虚拟控制台.
tty[1-6]就是用ctr+alt+f[1-6]所看到的那个终端了, 其他的是外部终端和网络终端。 pts/0,1,2是标准输入,标准输出,标准出错
linux系统root用户可强制踢制其它登录用户,首先可用$w命令查看登录用户信息,显示信息如下:
[linux]踢出某正在访问的用户||永久禁止某IP访问
强制踢人命令格式:pkill -kill -t tty
解释:
pkill -kill -t  踢人命令
tty 所踢用户的TTY
如上踢出liu用户的命令为: pkill -kill -t pts/1
只有root用户才能踢人,至少我测试的是这样的。如果同时有二个人用root用户登录,任何其中一个可以 踢掉另一个。任何用户都可以踢掉自己-_-
如何踢掉用终端登陆的用户,如:
root pts/1 114:S.0 09Jun16 181days 0.03s 0.03s /bin/bash
首先用命令查看pts/0的进程号,命令如下:
[lifeccp@iZ251vwb73cZ ~]$ ps -ef | grep pts/0
lifeccp 1013 30234 0 09:45 pts/0 00:00:00 ssh -p 10014 lifeccp@localhost
lifeccp 2469 1585 0 10:09 pts/4 00:00:00 grep pts/0
lifeccp 29676 29674 0 08:58 ? 00:00:00 sshd: lifeccp@pts/0,pts/3,pts/4
lifeccp 30234 29676 0 09:06 pts/0 00:00:00 -bash
[linux]踢出某正在访问的用户||永久禁止某IP访问
踢掉用户的命令:
kill -9 30234
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29579.html