Pure-ftpd服务安装设置

来自Ubuntu中文
Fanhe留言 | 贡献2007年11月15日 (四) 16:03的版本
跳到导航跳到搜索

Pure-FTPd FTP server
Pure-FTPd is a fast, production-quality, standards-conformant FTP server based upon Troll-FTPd. Features include chrooted home directories, virtual domains, built-in 'ls', anti-warez system, configurable ports for passive downloads, FXP protocol, bandwidth throttling, ratios, fortune files, Apache-like log files, fast standalone mode, atomic uploads, text / HTML / XML real-time status report, virtual users, virtual quotas, privilege separation, SSL/TLS and more.


不翻译了,中文的介绍就是:
快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,这样windows和linux之间用这个ftp就解决了乱码的问题了。这个功能vsftpd和proftpd都不具备,proftpd倒可以打补丁来支持,但传说是不安全,最后那个补丁没有更新了,貌似。

1.安装
sudo apt-get install pure-ftpd

2.配置
ubuntu 的 pure-ftpd 的配置文件很特别,都是放到 /etc/pure-ftpd/conf 目录下,而且是以选项为文件名,选项值为文件内容。
下面介绍的配置请把选项名作为文件名在 /etc/pure-ftpd/conf 下新建一个文本文件,然后内容就也选项的值。
(1)匿名登录功能:
默认情况下不开启匿名登录功能的,把 /etc/pure-ftpd/conf/NoAnonymous 的内容改为 no 在“系统->系统管理->用户名和组”新建一个叫“ftp”的用户名(一定要是这个名字),“高级”里面的主组的话可以新建一个叫“ftpgroup”的组来方便管理,如果不想“ftp”具备登录本地系统的功能,可以在账户属性的“高级”里的“高级设置”的“Shell”里选“/bin/false”,主目录就选一个你想要匿名用户登录是所在的目录就可以了,我是设置了“/var/ftp/public”。
到这里设置完毕后,重启 ftp 服务(最好重启系统)
sudo /etc/init.d/pure-ftpd restart
匿名用户应该就能登录了
(2)虚拟用户设置
在“系统->系统管理->用户名和组”新建一个叫“ftpuser”的用户名(ftpuser可以是你自己喜欢的一个名字),主组的话可以推荐选“ftpgroup”来方便管理,如果不想“ftpuser”具备登录本地系统的功能,可以在账户属性的“高级”里的“高级设置”的“Shell”里选“/bin/false”,主目录就选一个你想要该用户登录是所在的目录就可以了(其实是我没有测试如果虚拟用户和实际用户的主目录设置了不同的目录的结果),我是设置了“/var/ftp”。
然后
sudo pure-pw useradd ftpuser -u ftpuser -d /var/ftp
会提示你设置一个密码的。
这个命令就是用本地系统中的 “ftpuser” 用户登录,虚拟用户名为“ftpuser”,“ftpuser” 的主目录在 “/var/ftp”
虚拟用户和本地用户的名字可以不一样的,自己改,其实ftpuser不建立也行,可以直接用“ftp”这个用户的。用户登录 ftp 后的主目录是以这条命令所指定的主目录为准的。
(2)常用配置

匿名用户的最大带宽(KB/s) AnonymousBandwidth 8

不解释主机名,选“yes”的话可以大大加快登录ftp的速度的 DontResolve yes

客户端登录的时候的默认编码,开启这个选项的话,windows登录时就不会显示不了中文的了 ClientCharset gbk

这个应该是不允许客户端删除文件的 KeepAllFiles yes

每个IP的最大连接数 MaxClientsPerIP 5


到此,一个简单的 ftp 服务器就建成了,还需要更多的设置的话,请看这里的翻译 http://forum.ubuntu.org.cn/viewtopic.php?t=28052&highlight=pure-ftpd