Linux系统下Pure-FTPd的搭建

这篇是学生时代搭建FTP时总结的文章,翻出来再看发现基本忘了。原文如下。

最近要在一台Ubuntu机器上搭建一个FTP服务器,供局域网内简单的资料分享。linux中常用的ftp工具有vsftpd、ProFTPD、Pure-FTPd,查阅资料后最终选择了Pure-FTPd,原因如下:

  1. Pure-FTPd可以设置客户端默认编码,设为GBK即可解决windows访问时中文乱码问题。
  2. 虚拟用户支持,允许限制带宽、空间配额,可以用自带的pure-pw管理虚拟用户。

注:冷罡华的《Ubuntu Server最佳方案》里也讲到了Pure-FTPd的配置,不过是用MySQL来管理用户。而《鸟哥的Linux私房菜》中则使用了vsftpd。

安装步骤

一、安装

sudo apt-get install pure-ftpd

二、添加两个组,分别是管理组ftpadmins和匿名用户组ftpusers(官方文档中建议把匿名用户单独设在一个用户组中)。

sudo groupadd ftpadmins
sudo groupadd ftpusers

三、添加用户

sudo useradd ftpadmin –g ftpadmins –d /dev/null –s /bin/false
sudo useradd ftpuser –g ftpusers –d /var/ftp/public –s /bin/false

四、创建目录

sudo mkdir /var/ftp
sudo mkdir /var/ftp/public
sudo mkdir /var/ftp/private

五、更改权限

sudo chown –R ftpadmin:ftpadmins /var/ftp
sudo chmod –R 755 /var/ftp

六、添加虚拟用户。
虚拟用户用pure-pw配置,命令格式为pure-pw useradd/usermod/userdel等。

sudo pure-pw useradd admin –u ftpadmin –d /var/ftp
【此处需要输入密码】

每次修改用户设置都要更新虚拟用户数据库(不必重启服务),也可以在每次使用pure-pw的时候加上-m参数立即更新虚拟数据库。

sudo pure-pw mkdb

七、加入puredb数据库软连接

cd /etc/pure-ftpd/auth
sudo ln –s /etc/pure-ftpd/conf/PureDB 60puredb

Pure-ftpd的配置文件位于/etc/pure-ftpd/conf下,以设置项作为文件名,以该项的设置值作为文件的内容——这个比较奇葩。

配置完后的文件和值如下所示:

AnonymousCanCreateDirs ----------no
AnonymousCantUpload ----------  yes
AutoRename ----------  yes
BrokenClientsCompatibility ----------  yes
ChrootEveryone  ---------- yes
ClientCharset  ----------  gbk
CreateHomeDir ---------- yes
DontResolve ----------  yes
FSCharset  ---------- utf-8
KeepAllFiles ---------- no
MaxClientsNumber ---------- 100
MaxClientsPerIP ----------  5
MaxDiskUsage   ----------  90
MinUID ---------- 1000
NoAnonymous ----------   no
NoChmod ----------  yes
PAMAuthentication  ---------- yes
PureDB  ---------- /etc/pure-ftpd/pureftpd.pdb
TrustedGID  ---------- 1001
UnixAuthentication ---------- no

每次修改服务器设置后都需要重新启动服务:

sudo /etc/init.d/pure-ftpd restart

你可能感兴趣的:(Linux系统下Pure-FTPd的搭建)