Linux学习笔记之pureftp(四)虚拟用户

其实在linuxFTP服务器中使用最多的方式就是虚拟用户方式,这种方式与系统账户无关,更加安全。

一、使用pureDB来认证

自从 0.99.2 版本开始, pure-ftpd 就开始支持虚拟用户。为了使 pure-ftpd 支持虚拟用户,需要在编译的时候加入选项 –

with-puredb,或是和我们测试一样,用–with-everything,当然这个是随各用户使用而定。

我们新建一个账户用来对应FTP虚拟账户,如果用linux系统自带的Ftp用户,在用虚拟用户登陆时会出现不被信任的提示。建立

方法如下:
# groupadd ftpgroup
# useradd -g ftpgroup -d /dev/null -s /sbin/nologin ftpuser
系统帐号建立好后,我们就开始着手准备虚拟用户了。

./pure-pw useradd wtest -u ftpuser -d /data/
这条命令用来生成pureftpd.passwd文件,注意生成文件位置,可以用-f指定
wtest是FTP服务器用户,ftpuser是Linux系统用户
./pure-pw mkdb
把 pureftpd.passwd转变成pureftpd.pdb

, , , , , , ,

Linux学习笔记之pureftp(三)系统用户

关键字:pureftp pureftpd 技术文档 Linux 服务器 架设 学习笔记 proftp proftpd vsftp FTP Serv-U Xlight 被动模式 iptables 端口 范围

如果要在默认的配置文件中只支持系统真实用户登录,你只要稍微修改一下就可以了:
ChrootEveryone yes
NoAnonymous  yes
UnixAuthentication yes //用/etc/passwd 中的用户认证

只需以上三行就可以实现系统真实用户登陆Ftp了,系统真实用户会登陆到自己的主系统中,可下载,可上传,可删除,没有任何限制,类似于平常我们用的 sftp,就是由于有chroot的限制,所以无法去其他文件夹而已。在实际应用中,这种用法并不多见,我们也就不费篇幅介绍了。

, , , , , ,

Linux学习笔记之pureftp(二)匿名用户

关键字:pureftp pureftpd 技术文档 Linux 服务器 架设 学习笔记 proftp proftpd vsftp FTP Serv-U Xlight 被动模式 iptables 端口 范围

pureftp默认支持匿名用户的,但是默认的匿名用户要登录必须满足一下两个条件:

1.确保有ftp用户
grep ftp /etc/passwd

2.确保有ftp用户主目录

usermod -d /data ftp

默认支持匿名用户上传,匿名用户上传是根据用户主目录权限来控制的

chown ftp:ftp /data/upload

匿名用户可调参数:

# Don’t allow authenticated users – have a public anonymous FTP only.
#是否只让匿名登录
AnonymousOnly               no

# Disallow anonymous connections. Only allow authenticated users.
#不允许匿名连接,仅允许认证用户使用
NoAnonymous                 no

# Are anonymous users allowed to create new directories ?
#允许匿名用户创建新目录
AnonymousCanCreateDirs      no

# If the system is more loaded than the following value,
# anonymous users aren’t allowed to download.
#如果系统被loaded超过下面的值,匿名用户会被禁止下载
MaxLoad                     4

# Upload/download ratio for anonymous users.
#匿名用户的上传/下载的比率
# AnonymousRatio                1 10

# Maximum bandwidth for anonymous users in KB/s
#匿名用户的最大带宽(KB/s)
# AnonymousBandwidth            8

# Disallow anonymous users to upload new files (no = upload is allowed)
#不接受匿名用户上传新文件(no=允许上传)
AnonymousCantUpload         no

, , , , , ,

Linux学习笔记之pureftp(一)

关键字:pureftp pureftpd 技术文档 Linux 服务器 架设 学习笔记 proftp proftpd vsftp FTP Serv-U Xlight 被动模式 iptables 端口 范围

Linux下的主流FTP服务器软件,基本上由pureftp、vsftp和proftp这三家平分了,与之相比Windows倒是有更多的选择,serv-u、xlight、Gene6都是相当不错的。

由于Windows和Linux系统存在很大的差异,所以两个系统在FTP服务器设计上也大相径庭,Windows相对来说会比较简单,在一个界面上几乎可以控制所有的权限,Linux这时就略显复杂了。

今天我们来看pureftp的使用,其实proftp也基本差不多。至于vsftp资料就到处都是了,不介绍了。

1.pureftp的安装

官方网站 http://www.pureftpd.org/

tar xzvf pure-ftpd-1.0.21.tar.gz
cd pure-ftpd-1.0.21/
./configure –prefix=/usr/local/pureftpd –with-language=simplified-chinese –with-everything
注:
–with-eyerything是安装所有功能
–with-language=simplified-chinese是采用中文作为提示语言(不推荐)
–prefix是安装的目标目录
–with-rfc2640 对客户端编码的自动适用
另外如果需要与mysql连接等还需要在此指定。(稍后介绍)
make && make install && echo OK

2.复制安装目录configuration-file/里的pure-ftpd.conf到/usr/local/pureftpd/etc
pureftpd的运行方式和别的Linux程序不太一样,所有的参数调整都是通过运行时的命令行来调整,但程序也提供了一个perl和

python脚本将配置文件转变成命令行参数。将此文件夹下pure-config.py一并拷贝过去。

, , , , , ,

N2N VPN服务器的搭建

2008年,ntop的作者Luca Deri开始研究p2p VPN,他一方面看到公众对p2p VPN有着强烈的需求,另一方面又不满足已有产品的现状,于是n2n诞生了。

如上图所示,n2n是一个二层架构的VPN网络,其中super node提供场所,让两个位于NAT/防火墙之后的edge node进行会面,一旦双方完成首次握手,剩下的数据流就之发生在两个edge node之间,如果有一方的NAT属于对称型(symmetrical),super node则还需继续为双方提供数据包的转发;edge node负责数据流的加解密,原理很简单。

对于一个VPN而言,主要涉及封装和加解密两个步骤,edge node使用UDP协议进行封装,目的是为了更好的兼容防火墙的策略,因为很多防火墙禁用了非TCP/UDP协议禁用。加密算法则采用了twofish,好处开源、简便,处理速度快。
为了降低设计难度,n2n利用了tap/tun虚拟网卡,这样做得好处是一方面软件尺寸极小,一方面源码的依赖性极低,可以很容易移植到嵌入式设备中,目前有openwrt的版本,在未来的计划中,还将移植到android和iPhone中。

相对于hamachi,n2n最大的优势在于:
1. 开源,任何人都可以检查代码,看看是否有猫腻,而hamachi是闭源的,LogMeIn是否会截获密钥不得而知,一旦截获密钥,就可以对流经 hamachi服务器的数据包进行解码。n2n的加解密过程由edge node实现,只有两端的用户知道协商好的共享密钥,super node无从知晓。

2. 灵活性,n2n允许用户在Internet上自行创建super node,也可以利用任何一个公开的super node。

hamachi用户则必须登录到LogMeIn服务器才能创建隧道。
n2n支持的OS也非常广,Linux、FreeBSD、MAC OSX、甚至windows

官方网站:http://www.ntop.org/n2n/
软件下载:http://sourceforge.net/projects/ntop/files/

, , , , , ,

openvpn相关问题解答

1.针对客户端做不同设置

配置文件中“client-config-dir”指明 Client 的专有配置文件目录。在这个目录下可以针对特定用户建立配置文件。

例如,要为用户 abc 指定一个 IP 地址(如10.1.1.5)而不是让 VPN Server 自动分配。
ifconfig-push 10.1.1.5 10.1.1.6

2.证书吊销

cd /openvpn-2.0.5/easy-rsa
. vars
./revoke-full client1
这样会会在 keys 目录下面, 生成一个 crl.pem 文件。

然后再配置文件中
crl-verify crl.pem
重启服务即

3.关于重启服务

kill -SIGHUP xxx
重启服务后,客户端连接不会立即断掉,服务端会重新为客户端配置新的IP地址,但在双方重新建立连接过程中

,客户端会协商使用原来的IP,协商成功原有IP就不会改变。

4.openvpn的管理界面

配置文件中加入management localhost 4444重启服务
然后 telnet localhost 4444登录,可以给管理界面设置密码,可以实现查看当前连接,踢掉当前连接等操作,踢

掉后客户端会自动重连。

5.监听地址

local 70.8.7.6
注释此行,默认监听所有地址。

参考资料:
http://bbs.chinaunix.net/thread-503434-1-1.html
http://bbs.chinaunix.net/viewthread.php?tid=513004
http://bbs.chinaunix.net/thread-830695-1-1.html
http://www.xiaohui.com/dev/server/20070514-install-openvpn.htm
http://www.xiaohui.com/dev/server/20070904-revoke-openvpn-client.htm

, , , ,