全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 4858|回复: 14

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

[复制链接]
发表于 2011-6-26 19:16:31 | 显示全部楼层 |阅读模式
看到论坛有很多人做免费VPN和SSH,由于流量有限防止被人滥用倒是个问题。
之前有三一天空提供的自动更改密码教程,不过更改密码后已经连接的用户不会断开,这就不能阻止资源被滥用。
自己编写了两个简单的脚本可以实现自动断开的功能。
PPTPD

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

  7. vim /etc/ppp/auth-down
  8. 添加以下内容,用户断开时清除PID
  9. #!/bin/bash
  10. USER=$2
  11. PID=`awk '/PPid/ { print $2; }' /proc/$/status`
  12. sed -i "/$PID/d" /var/run/pptpd-users/$USER
  13. ~     
  14. 新建任意脚本,循环断开所有在连接的用户
  15. #!/bin/sh
  16. freevpnpid=`cat /var/run/pptpd-users/freevpn`
  17. for freevpn in ${freevpnpid[*]}
  18. do
  19. kill -9 $freevpn
  20. done
  21. rm -rf  /var/run/pptpd-users/freevpn                                         
复制代码
SSH就简单多了
  1. 任意脚本,定时执行就可以了,freessh为用户名
  2. #!/bin/bash
  3. freesshpid=`(ps -ef | grep '^freessh' ) | awk '{print $2}'`
  4. for freessh in ${freesshpid[*]}
  5. do
  6. kill -9 $freessh
  7. done
复制代码
其它的自己改善吧。。
顺便广告一下,就各位童鞋一致要求今晚20:00放出5折优惠码,时间有限,不想打破市场规则,自己亏本不能让别人也跟着亏本。
发表于 2011-6-26 19:19:13 | 显示全部楼层
求Pm5折

评分

参与人数 1威望 +10 收起 理由
foxconndmd + 10 感谢支持。。。

查看全部评分

发表于 2011-6-26 19:19:30 | 显示全部楼层
好东西!
坐等8点抢5折优惠码

评分

参与人数 1威望 +10 收起 理由
foxconndmd + 10 感谢支持。。。

查看全部评分

发表于 2011-6-26 19:20:24 | 显示全部楼层
求五折!  要是楼主的不错 我就不买别家了

评分

参与人数 1威望 +10 收起 理由
foxconndmd + 10 感谢支持。。。

查看全部评分

发表于 2011-6-26 19:20:44 | 显示全部楼层
  不错

评分

参与人数 1威望 +10 收起 理由
foxconndmd + 10 感谢支持。。。

查看全部评分

发表于 2011-6-26 19:24:59 | 显示全部楼层

  1. #添加以下内容,记录登录者PID。
  2. cat >>/etc/ppp/auth-up<< EOF
  3. #!/bin/sh
  4. USER=$2
  5. PID=`awk '/PPid/ { print $2; }' /proc/$/status`
  6. echo $PID >> /var/run/pptpd-users/$USER
  7. EOF

  8. #添加以下内容,用户断开时清除PID
  9. cat >>/etc/ppp/auth-down << EOF
  10. #!/bin/bash
  11. USER=$2
  12. PID=`awk '/PPid/ { print $2; }' /proc/$/status`
  13. sed -i "/$PID/d" /var/run/pptpd-users/$USER
  14. ~     
  15. EOF

  16. #新建任意脚本,循环断开所有在连接的用户
  17. cat >>/home/base.sh<<EOF
  18. #!/bin/sh
  19. freevpnpid=`cat /var/run/pptpd-users/freevpn`
  20. for freevpn in ${freevpnpid[*]}
  21. do
  22. kill -9 $freevpn
  23. done
  24. rm -rf  /var/run/pptpd-users/freevpn  
  25. EOF
复制代码
vim繁琐了些

评分

参与人数 1威望 +10 收起 理由
foxconndmd + 10 精品文章

查看全部评分

发表于 2011-6-26 19:26:16 | 显示全部楼层


pm五折
发表于 2011-6-26 19:39:28 | 显示全部楼层
支持啊
 楼主| 发表于 2011-6-26 19:44:26 | 显示全部楼层
原帖由 ssh 于 2011-6-26 19:24 发表

#添加以下内容,记录登录者PID。
cat >>/etc/ppp/auth-up> /var/run/pptpd-users/$USER
EOF

#添加以下内容,用户断开时清除PID
cat >>/etc/ppp/auth-down >/home/base.sh

这个更方便。。。
发表于 2011-6-26 19:47:48 | 显示全部楼层
坐等5折。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-18 12:00 , Processed in 0.091625 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表