Linux下PureFTPd配置安装(完整版)

网上关于pureftp的安装教程很多,但是试了以后发现很多其实都不完善,很容易出错,自己安装摸索以后总结如下:

首先安装之前最好用netstat -ntl来查看ftp默认的21端口是不是已经被占用了,同时也可以用ps -ef 指令查看开启了哪些服务,看一下有没有类似sftp或者是vsftp的服务,如果开启,用killall sftp指令把这个服务kill掉

1.下载pureftp,我下载的是pure-ftpd-1.0.30

wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.bz2

2.解压:

tar -xvjf pure-ftpd-1.0.30.tar.bz2

进入到解压后目录:

cd pure-ftpd-1.0.30

3.编译方式,推荐使用全部安装

./configure  -–prefix=/usr/local/pureftpd  -–with-puredb -–with-everything   --with-cookie  --with-diraliases  --with-extauth  --with-ftpwho  --with-language=english  --with-ldap  --with-minimal  --with-mysql  --with-nonroot

4.安装:

make && make check && make install

5.建立相应的安装目录:

mkdir /usr/local/pureftpd/etc

6.把配置文件和主要执行文件拷到对应的文件夹下面:

cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/ 
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/ 
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl 


7.定制一下系统的环境变量:

cd /usr/local/bin/ 
ln -s /usr/local/pureftpd/bin/* . 
ln -s /usr/local/pureftpd/sbin/* /usr/local/sbin/ 
ln -s /usr/local/pureftpd/man/man8/* /usr/local/share/man/man8/ 


 8.启动pureftp服务器

pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

屏幕上一般显示如下信息:

Running: /usr/local/pureftpd/sbin/pure-ftpd -A -b -B -C20 -d -e -fnone -H -I15 -L2000:8 -M -m4 -p45000:50000 -q1:10 -s -t200 -U133:022 -u100 -r -Oclf:/var/log/pureftpd.log -k99 -Z

此时可以用在命令行窗口下telnet ip地址 21的方式探测一下这个端口是不是通的。

9.pureftp一般需要不用默认的root用户进行操作,一般会另外创建用户名和组,用虚拟用户进行登录

创建组:

groupadd ftpgroup


创建用户:

useradd -g ftpgroup -d /dev/null -s /etc ftpuser

创建完成以后可以用cat /etc/passwd和cat /etc/group来查看组和用户是否已经创建好了。

10.添加ftp虚拟用户

pure-pw useradd test -u ftpuser -d /home/ftpusers/test

如果添加完成以后想要删除可以使用pure-pw userdel test这条指令
想要修改密码可以使用pure-pw passwd test这条指令

11.查看用户信息

pure-pw show test

12.生成数据库文件

pure-pw mkdb

13.一定要注意修改配置文件,因为很多配置文件数据库的默认安装位置并不是实际位置,这样就会造成每次登

陆的时候都找不到密码,ftp一直显示passwd required,所以安装好以后一定要修改配置文件,尤其是粉红色的部位,注意修改。打开配置文件:vim /usr/local/pureftpd/etc/pure-ftpd.conf
 

ChrootEveryone              yes         # 启用chroot
BrokenClientsCompatibility  yes         # 兼容不同客户端
Daemonize                   yes         # 后台运行
MaxClientsPerIP             20          # 每个ip最大连接数
VerboseLog                  yes         # 记录日志
DisplayDotFiles             no          # 显示隐藏文件
AnonymousOnly               no          # 只允许匿名用户访问
NoAnonymous                 yes         # 不允许匿名用户连接
SyslogFacility              none        # 不将日志在syslog日志中显示
DontResolve                 yes         # 不进行客户端DNS解析
MaxIdleTime                 15          # 最大空闲时间
LimitRecursion              2000 8      # 浏览限制,文件2000,目录8层
AnonymousCanCreateDirs      no          # 匿名用户可以创建目录
MaxLoad                     4           # 超出负载后禁止下载
PassivePortRange            45000 50000 # 被动模式端口范围
#AnonymousRatio             1 10        # 匿名用户上传/下载比率
UserRatio                   1 10        # 所有用户上传/下载比率
AntiWarez                   yes         # 禁止下载匿名用户上传但未经验证的文件
#AnonymousBandwidth         200         # 匿名用户带宽限制(KB)
UserBandwidth               8           # 所有用户最大带宽(KB)
Umask                       133:022     # 创建文件/目录默认掩码
MinUID                      100         # 最大UID限制
AllowUserFXP                no          # 仅运行用户进行FXP传输
AllowAnonymousFXP           no          # 对匿名用户和非匿名用户允许进行匿名 FXP 传输
ProhibitDotFilesWrite       no          # 不能删除/写入隐藏文件
ProhibitDotFilesRead        no          # 禁止读取隐藏文件
AutoRename                  yes         # 有同名文件时自动重新命名
AnonymousCantUpload         yes         # 不允许匿名用户上传文件
AltLog                      clf:/var/log/pureftpd.log              # clf格式日志文件位置
PureDB                      /usr/local/pureftpd/etc/pureftpd.pdb  # 用户数据库文件
MaxDiskUsage                99          # 当磁盘使用量打到99%时禁止上传
CreateHomeDir               yes         # 如果虚拟用户的目录不存在则自动创建
CustomerProof               yes         # 防止命令误操作

注:PureDB这个地方一定要记得修改,不然会一直登不上去,修改完成以后可以再次执行

14.重新生成数据库文件

pure-pw mkdb

15.先把之前的pureftp服务kill掉

killall pure-ftpd

16.然后重新启动

/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

17.此时一般已经可以成功登录,但是有可能还是无法上传到服务器上去,此时一般是权限问题,登录到ftp的家目录下 ,修改test文件夹下的文件权限。

cd /home/ftpusers/test
chown ftpuser:ftpgroup wenjian1

再尝试重新连接以后上传。

猜你喜欢

转载自blog.csdn.net/u011132987/article/details/88172612