2011年9月6日星期二

ssh和pptpd-vpn自动更改密码并断开用户连接


看到论坛有很多人做免费VPNssh,由于流量有限防止被人滥用倒是个问题。

之前有三一天空提供的自动更改密码教程,不过更改密码后已经连接的用户不会断开,这就不能阻止资源被滥用。

自己编写了两个简单的脚本可以实现自动断开的功能。

PPTPD

复制内容到剪贴板
代码:

vim /etc/ppp/auth-up
添加以下内容,记录登录者PID。
#!/bin/sh
USER=$2
PID=`awk '/PPid/ { print $2; }' /proc/$/status`
echo $PID >> /var/run/pptpd-users/$USER

vim /etc/ppp/auth-down
添加以下内容,用户断开时清除PID
#!/bin/bash
USER=$2
PID=`awk '/PPid/ { print $2; }' /proc/$/status`
sed -i "/$PID/d" /var/run/pptpd-users/$USER
~
新建任意脚本,循环断开所有在连接的用户
#!/bin/sh
freevpnpid=`cat /var/run/pptpd-users/freevpn`
for freevpn in ${freevpnpid[*]}
do
kill -9 $freevpn
done
rm -rf /var/run/pptpd-users/freevpn

SSH就简单多了
复制内容到剪贴板
代码:

任意脚本,定时执行就可以了,freessh为用户名
#!/bin/bash
freesshpid=`(ps -ef | grep '^freessh' ) | awk '{print $2}'`
for freessh in ${freesshpid[*]}
do
kill -9 $freessh
done

没有评论:

发表评论