PPTP VPN 限制一个账号只允许一个用户来登录

创建auth-up文件

vi /etc/ppp/auth-up
chmod a+x /etc/ppp/auth-up

auth-up脚本内容如下

#!/bin/sh
# get the username/ppp line number from the parameters
REALDEVICE=$1
USER=$2
# create the directory to keep pid files per user
mkdir -p /var/run/pptpd-users
# if there is a session already for this user, terminate the old one
if [ -f /var/run/pptpd-users/$USER ]; then
  kill -HUP `cat /var/run/pptpd-users/$USER`
  rm /var/run/pptpd-users/$USER
fi
# copy the pid file of current user to /var/run/pptpd-users
cp "/var/run/$REALDEVICE.pid" /var/run/pptpd-users/$USER

流程如下:

1.用户登录判断是否有/var/run/pptpd-users/用户名的文件

2.如果有平滑重启这个vpn用户进程,如果没有创建这个文件,文本里面有用户进程ID

3.老的连接被踢掉,新的连接可以使用

备注:这种模式下,一个账号只允许一个用户使用。

重启pptpd

service pptpd restart

相关链接

http://poptop.sourceforge.net/dox/skwok/poptop_ads_howto_12.htm#oneconnection

http://blog.55o.org/blog/2014/11/28/pptp-vpn-%E9%99%90%E5%88%B6%E4%B8%80%E4%B8%AA%E8%B4%A6%E5%8F%B7%E5%8F%AA%E5%85%81%E8%AE%B8%E4%B8%80%E4%B8%AA%E7%94%A8%E6%88%B7%E6%9D%A5%E7%99%BB%E5%BD%95/

时间: 02-02

PPTP VPN 限制一个账号只允许一个用户来登录的相关文章

腾讯云配置pptp vpn客户端时需要注意的一个点

C:\\Users\\Administrator>ping www.google.com 正在 Ping www.google.com [216.58.197.100] 具有 32 字节的数据: 请求超时. 请求超时. 请求超时. 请求超时. 配置好pptp vpn客户端后发现ping谷歌只得到一个IP,但并没有ping通,此时需要加路由.谷歌是216.58.0.0/16网段的,加的时候这样加: 先route print看到接口列表里"VPN 连接"的设备接口号为14 C:\\U

Linux useradd-userdel(增加一个账号和删除一个账号)

增加账户 命令 : useradd 语法 : useradd [-u UID] [-g GID] [-d HOME] [-M] [-s] '-u' 自定义UID '-g' 使其属于已经存在的某个组,后面可以跟组id, 也可以跟组名 '-d' 自定义用户的家目录 '-M' 不建立家目录 '-s' 自定义shell [[email protected] ~]# useradd test10 [[email protected] ~]# tail -n1 /etc/passwd test10:x:50

dedecms--二次开发文章内容页未登录禁止访问和同一个帐号只允许一个ip登录

最近在用dedecms二次开发会员功能,领导要求,会员未登录不允许访问文章内容页,和同一个账号只允许一个ip登录,我是将这两个在一起判断的,判断session存不存在,不存在的情况下就是未登录,这时候禁止访问文章内容,session存在,判断当前获取的ip和数据库存放的ip是否相等,不想登说明异地登陆,清空session和cookie;具体代码如下:在plus/view.php最末尾加上下面代码: @session_start();if(empty($_SESSION['userid']) ||

ftp 一个账号多个家目录的解决方案

通常,配置ftp时,一个ftp账号只对应一个家目录,不能有多个家目录的情况. 但是,根据公司开发项目的需求,需要做到一个ftp对应多个开发目录.有想过创建软链接的,可是发现通过ftp是访问不了的. 举例说明: /home/www 目录结构是: /home/www/ ├── bbs ├── files ├── project1 ├── project2 ├── project3 ├── test └── wordpress 其中有三个项目目录:project1,project2,project3.

如何限制一个账号同时只能一个人登录

一直以为 限制一个账号同时只能一个人登录 就是单点登录,经过网上查询,一个账号同一时间只能一个人登录和单点登录根本不是一回事. 解决思路: 在数据库中创建一个内存表LoginTable(即数据库存储引擎为membory),包含两个字段(id,loginStr).其中loginStr 用来存储 sessionId.将主键id不要设置成自增的方式. 在创建用户的时候,在内存表LoginTable中添加一条数据,字段id为新建用户在用户表中的主键id,字段loginStr 先设为空 在用户登录成功之后

vc++高级班之窗口篇[4]---让程序只运行一个实例

大家都看过或者使用过类似只运行一个实例的程序,比如:QQ游戏.部分浏览器 等等! 让一个程序只运行一个实例的方法有多种,但是原理都类似,也就是在程序创建后,有窗口的程序在窗口创建前, 检查系统中是否已经设置了某些特定标志,是否创建了一些全局唯一的东西,或者让程序的多个实例都能看到的东西, 如果有则说明已经有一个实例在运行了,则当前程序通知用户如何如何,然后程序退出,当然方法有很多种,各有各的优缺点! ①.创建互斥体 Mutex 法: 但是单纯的使用互斥体的话不能取得已经创建的实例窗口局柄,因此无

PHP实现一个账号只能一个用户登录

思路: 用户登录时,将函数session_id()的值写入到数据库中,这样就能始终保证数据库中的session_id的值是最新的登录的用户对应的session _id. 在页面验证用户时,需要验证用户当前的session_id和数据库中session的值是否一致. 举例: 已知有一个账号U,两个用户A和B. 首先A登录账号U,于是用户A登录时,对应的session_id写入到账号U对应的session_id中,此时用户A保持登录状态. 然后B也登录账号U,用户B登录时,对应的session_id

转载 - Vultr VPS注册开通且一键快速安装PPTP VPN和电脑连接使用

本文转载来自:https://www.vultrclub.com/139.html 从2014年Vultr VPS进入市场之后,作为有背景.实力的搅局者,是的最近两年VPS.服务器的用户成本降低.配置提升,在一定程度上也是由Vultr商家的出现导致的. 从配置新家比看,Vultr VPS还是有足够的优势的,比如全部SSD固态硬盘.768MB内存起步才5美金月付,而且新注册用户还赠送最高50美金(新注册Vultr账户赠送50美元快捷通道). 对于我们用户,选择VPS主机的时候要便宜.稳定且好用的,

如何判断一个字节是否是一个汉字中的一部分

UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序. 在UTF-8编码中一个中文占三个字节 比如 汉字 "张" 对应的三字节编码是[229 188 160] 但是如何判断,229 188 160 是组合的呢,这里涉及到一套规则 UTF规定: 如果一个符号只占一个字节,那么这个8位字节的第一位就为0. 如果为两个字节,那么规定第一个字节的前两位都为1,然后第一个字节的第三位为0,第二个字节的前两位为10 然后如果是三个字节的话,那么第一个字节的