一. yum安装配置
1:配置yum源
备份(如有配置其他epel源)
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
下载新repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum makecache
2:yum安装
yum install pure-ftpd -y
3:修改配置文件
vim /etc/pure-ftpd/pure-ftpd.conf PureDB /etc/pure-ftpd/pureftpd.pdb
#去掉这行注释,指定路径,PureDB用户数据库文件
VerboseLog yes
#开启日志 /var/log/pureftpd.log
NoAnonymous yes
#拒绝匿名用户登录
PassivePortRange 48000 50000
#使用被动模式,限制端口。
4:创建账户,配置权限
groupadd ftpgroup
useradd -g ftpgroup -s /sbin/nologin -d /dev/null ftpuser
创建虚拟账户
pure-pw useradd test -d /data/ftp/ -u ftpuser -m
配置目录权限
mkdir /data/ftp -p
chown ftpuser.ftpgroup /data/ftp/ -R
5:配置防火墙策略
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 48000:50000 -j ACCEPT
6:启动pure-ftpd
chkconfig pure-ftpd --level 345 on
/etc/init.d/pure-ftpd start
二. 编译安装配置
1.下载编译安装
cd /usr/local/src
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.29.tar.gz
tar -zxvf pure-ftpd-1.0.29.tar.gz
cd pure-ftpd-1.0.29
./configure --prefix=/usr/local/pureftpd --with-everything
make
make install
2.复制配置文件到安装目录
cd configuration-file/
chmod 755 pure-config.pl
cp pure-config.pl /usr/local/pureftpd/bin/
mkdir /usr/local/pureftpd/etc
cp pure-ftpd.conf /usr/local/pureftpd/etc/
#cd configura-files //切换到这个目录
#chmod 755 pure-config-pl //让用户有完全权限(因为默认没有执行权限)
#cp pure-config-pl /usr/local/pureftpd/bin //把执行文件复制到bin目录下
#mkdir /usr/local/pureftpd/etc //新建FTP的配置文件夹目录
#cp pure-ftpd.conf /usr/local/pureftpd/etc //复制ftp配置文件到etc中
#cd .. //切换到/pure-ftpd-1.0.29目录中
#cp pureftpd-ldap.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中
#cp pureftpd-mysql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中
#cp pureftpd-pgsql.conf /usr/local/pureftpd/etc //相关配置文件复制到etc中
3、pure-ftpd.conf配置
vim /usr/local/pureftpd/etc/pure-ftpd.conf
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协议
4、新建虚拟用户
注意:新建虚拟用户之前需要创建一个组合用户(属于操作系统上的)。
#groupadd –g 1000 ftpgroup //新建一个指定组ID为1000的系统组
#useradd –g 1000 –u 1000 –d /dev/null –s /sbin/nologin ftpuser //新建用户ID1000加入ftpgroup中
#cd /usr/local/pureftpd/bin //切换到bin目录中
#./pure-pw useradd puser –u ftpuser –d /www/ftptest –m
//pure-pw useradd 虚拟用户名 –u 寄生到系统用户名 –d FTP目录 –m(把用户密码加入PDB数据库中,不需要重启FTP)
#cd /www //切换到WWW中
#chown –R ftpuser:ftpgroup ftptest //把FTP目录的所属用户和组改为虚拟用户所依托的系统用户和组
5、启动测试
#/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -E -fftp -H
-I10 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L2000:8 -s -U133:022
-u1000 -i -Z-4
注:如果出现running说明启动成功。
接下来ftP连接进行测试
6、pureftpd只允许单个ip登陆
#cd /usr/local/pureftpd/sbin
#./pure-pw usermod puser –r 218.66.36.119 –m
(备注:-R 只允许的IP地址,其他任何IP地址都会拒绝掉)
#./pure-pw usermod pure –r “”
(-r 加上””会把之前允许的都清空掉,这样以来所有的IP都可以访问ftp)
7、查看用户列表
# ./pure-pw list
8、查看用户详细设置
#./pure-pw show puser
(若出现pureftpd 530 Sorry, but I can’t trust you错误信息,再配置步骤和配置文件都正确的情况下,可尝试重新下服务器,观察此问题能否解决)
9:rhel下pureftpd自启动的实现
# cd /usr/local/src/software/pure-ftpd-1.0.22/contrib/
# ls
Makefile Makefile.in pure-vpopauth.pl suse.init
Makefile.am pure-stat.pl redhat.init xml_python_processors.txt
# cp redhat.init /etc/init.d/pureftpd
# chmod 755 /etc/init.d/pureftpd
# chkconfig –add pureftpd
# chkconfig pureftpd on
# service pureftpd restart
Stopping pure-config.pl:
Starting pure-config.pl: Running: /usr/local/pureftpd/sbin/pure-ftpd –daemonize
-A -c50 -B -C10 -E -fftp -H -I10 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb
-s -U133:022 -u1000 -R -4
若出现错误,则检查/etc/init.d/pureftpd启动脚本中定义的路径是否正确.
原文地址:http://blog.51cto.com/865516915/2064503