关闭防火墙
[bonc@rhel-6 ~]$ vim /etc/selinux/config
SELINUX=disabled
安装所需依赖和编译工具
[bonc@rhel-6 ~]$ yum install -y gcc openssl-devel perl
下载pureftp:
https://sourceforge.net/projects/pureftpd/
最新版本是pure-ftpd-1.0.22.tar.gz
解压
[bonc@rhel-6 ~]$ tar -xzf pure-ftpd-1.0.22.tar.gz
编译
[bonc@rhel-6 ~]$ cd pure-ftpd-1.0.22
[bonc@rhel-6 pure-ftpd-1.0.22]$ ./configure --prefix=/usr/local/pureftpd --with-language=simplified-chinese --with-everything
注释: --with-eyerything是安装所有功能
--with-language=simplified-chinese是采用中文作为提示语言
--prefix是安装的目标目录
[bonc@rhel-6 pure-ftpd-1.0.22]$ make
[bonc@rhel-6 pure-ftpd-1.0.22]$ make install
查看/usr/local/pureftpd,可以找到3个目录:bin,sbin,share
创建一个配置文件所在的路径 etc
使用sudo是因为我用的不是超级用户
[bonc@rhel-6 ~]$ sudo mkdir -p /usr/local/pureftpd/etc/
拷贝模板配置文件
[bonc@rhel-6 ~]$ cd /usr/local/src/pure-ftpd-1.0.22/configuration-file/
[bonc@rhel-6 configuration-file]$ sudo cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
拷贝启动文件
[bonc@rhel-6 configuration-file]$ sudo cp pure-config.pl /usr/local/pureftpd/sbin/
更改文件权限
[bonc@rhel-6 ~]$ sudo chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
编辑配置文件
[bonc@rhel-6 ~]$ cd /usr/local/pureftpd/etc/
[bonc@rhel-6 etc]$ vim pure-ftpd.conf
清空配置文件,用dG清空全文
ChrootEveryone yes //锁定所有用户到家目录中
# TrustedGID 100 //信任组ID100,可以不锁定
MaxClientsNumber 50 //最大的客户端数量
MaxClientsPerIP 8 //同一个IP允许8个链接
DisplayDotFiles no //不显示隐藏文件
AnonymousOnly no //只允许匿名用户
NoAnonymous yes//不允许匿名用户
DontResolve yes //禁止反向解析
MaxIdleTime 10 //最大空闲10分钟
# LDAPConfigFile /etc/pureftpd-ldap.conf //LDAP配置文件目录
# MySQLConfigFile /etc/pureftpd-mysql.conf//MySQL配置文件目录
# PGSQLConfigFile /etc/pureftpd-pgsql.conf //PGSQL配置文件目录
PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虚拟用户数据库
# UnixAuthentication yes //主机认证
LimitRecursion 2000 8 //别表最大显示2000个文件,最深8个目录
AnonymousCanCreateDirs no //是否允许匿名用户创建目录
#MaxLoad 4 //最多可下载的数量
# PassivePortRange 30000 50000 //主动连接的端口范围
ForcePassiveIP 192.168.0.1 //这个地址总是直到匿名目录
# AnonymousRatio 1 10 //匿名用户上传下载速度比率
# UserRatio 1 10 //用户上传下载速度比率
# Bind 127.0.0.1,21 //绑定IP和端口
# AnonymousBandwidth 8 //匿名用户带宽8KB
# UserBandwidth 8 //用户带宽8KB
Umask 133:022 //文件和目录的umask
MinUID 1000 //用户ID至少要大于1000才能登陆
AllowUserFXP no //是否允许用户使用FXP协议登陆
AllowAnonymousFXP no //是否允许匿名用户使用FXP协议
ProhibitDotFilesWrite no //是否允许写入点文件
ProhibitDotFilesRead no //是否允许读取点文件
AnonymousCantUpload yes //不允许匿名用户上传
#NoChmod yes //不允许用户改变权限
#KeepAllFiles yes //允许用户断点续传
#Quota 1000:10//磁盘配额
#MaxDiskUsage 99 //磁盘的最大利用率
#NoRename yes //不允许自动重命名
IPV4Only yes //只允许使用IPV4协议
新建虚拟用户
建立一个ftp用户与组
[bonc@rhel-6 ~]$ sudo groupadd ftpgroup
[bonc@rhel-6 ~]$ sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser
建立一个FTP帐号
[bonc@rhel-6 ~]$ sudo /usr/local/pureftpd/bin/pure-pw useradd ftpa -u ftpuser -d /home/www/ftp
说明:ftpu是用户名,-u ftpuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D如果需要不同的权限,可以建立新的linux用户与组
建立用户数据库
[bonc@rhel-6 ~]$ sudo /usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb
运行FTP服务
[bonc@rhel-6 ~]$ sudo /usr/local/pureftpd/sbin/pure-ftpd -A -B -C 20 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/etc/pureftpd.pdb -p 60000:60010 -R -w