一、pure-ftpd简介

  PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件(基于BSD License),以安全和配置简单为设计目标,支持虚拟主机,IPV6,PAM等功能。。其可以在多种类Unix操作系统中编译运行,包括Linux、OpenBSD、NetBSD、FreeBSD、DragonFly BSD、Solaris、Tru64、Darwin、Irix and HP-UX。PureFTPd还有Android移植版本。

二、源码安装步骤

1、官网下载pure-ftpd

打开官网下载链接,下载最新版本pure-ftpd软件包,最新版本为:1.0.49。在这里插入图片描述

2、将软件上传到服务器

[root@s142 ~]# cd /usr/local/
[root@s142 local]# rz -y
#选择pure-ftpd-1.0.49.tar.gz后上传到/usr/local目录下。

3、解压软件包

[root@s142 local]# tar -zxvf pure-ftpd-1.0.49.tar.gz

[root@s142 local]# chown -R root.root pure-ftpd-1.0.49

4、编译软件

[root@s142 local]# cd pure-ftpd-1.0.49
[root@s142 pure-ftpd-1.0.49]# ./configure

config.status: creating config.h
config.status: executing depfiles commands

5、安装软件

[root@s142 pure-ftpd-1.0.49]# make

make[2]: Leaving directory `/usr/local/pure-ftpd-1.0.49’
make[1]: Leaving directory `/usr/local/pure-ftpd-1.0.49’
[root@s142 pure-ftpd-1.0.49]# make check

[root@s142 pure-ftpd-1.0.49]# make install
Making install in puredb

make[2]: Nothing to be done for `install-exec-am’.
/usr/bin/mkdir -p ‘/usr/local/share/doc/pure-ftpd’
/usr/bin/install -c -m 644 FAQ README.LDAP README.MySQL README.PGSQL README.Configuration-File README.Virtual-Users README.Authentication-Modules README.TLS README.MacOS-X pure-ftpd.conf pureftpd.schema pureftpd-ldap.conf pureftpd-mysql.conf pureftpd-pgsql.conf ‘/usr/local/share/doc/pure-ftpd’
make[2]: Leaving directory `/usr/local/pure-ftpd-1.0.49’
make[1]: Leaving directory `/usr/local/pure-ftpd-1.0.49’

6、查看pure-ftpd命令安装路径

[root@s142 pure-ftpd-1.0.49]# which pure-ftpd
/usr/local/sbin/pure-ftpd

7、启动pure-ftpd服务

[root@s142 pure-ftpd-1.0.49]# cp pure-ftpd.conf /etc/
[root@s141 pure-ftpd]# /usr/local/sbin/pure-ftpd &
[1] 9495

8、检查服务

[root@s141 pure-ftpd]# netstat -tnpl |grep pure
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 9495/pure-ftpd (SER
tcp6 0 0 :::21 ::😗 LISTEN 9495/pure-ftpd (SER

三、YUM安装

1、安装epel扩展源

[root@s141 yum.repos.d]# yum install -y epel-release

2、安装pure-ftpd

[root@s141 yum.repos.d]# yum install -y pure-ftpd

pure-ftpd.x86_64 0:1.0.47-4.el7

Complete!

3、创建根用户及虚拟用户

[root@s141 yum.repos.d]# pure-pw mkdb
[root@s141 yum.repos.d]# useradd -d /home/pure pure
[root@s141 yum.repos.d]# pure-pw useradd wuhs -u pure -d /home/pure
Password:
Enter it again:

4、启用mkdb

[root@s141 yum.repos.d]# vim /etc/pure-ftpd/pure-ftpd.conf
取消如下行的注释
#PureDB /etc/pure-ftpd/pureftpd.pdb

5、启动pure-ftpd服务

[root@s141 yum.repos.d]# service pure-ftpd start
Redirecting to /bin/systemctl start pure-ftpd.service
[1]+ Done /usr/sbin/pure-ftpd (wd: /etc/pure-ftpd)
(wd now: /etc/yum.repos.d)

6、查看服务状态

[root@s141 yum.repos.d]# service pure-ftpd status
Redirecting to /bin/systemctl status pure-ftpd.service
● pure-ftpd.service - Pure-FTPd FTP server
Loaded: loaded (/usr/lib/systemd/system/pure-ftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2021-11-16 14:54:31 CST; 8s ago
Process: 9606 ExecStart=/usr/sbin/pure-config.pl /etc/pure-ftpd/pure-ftpd.conf --daemonize (code=exited, status=0/SUCCESS)
Main PID: 9607 (pure-ftpd)
CGroup: /system.slice/pure-ftpd.service
└─9607 pure-ftpd (SERVER)

Nov 16 14:54:31 s141 systemd[1]: Starting Pure-FTPd FTP server…
Nov 16 14:54:31 s141 systemd[1]: PID file /var/run/pure-ftpd.pid not readable (yet?) after start.
Nov 16 14:54:31 s141 systemd[1]: Started Pure-FTPd FTP server.

7、使用客户端连接ftp服务器

使用wuhs用户连接服务器
在这里插入图片描述

三、配置文件说明

1、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格式日志文件位置。
LDAPConfigFile /etc/pureftpd-ldap.confLDAP 配置文件
MySQLConfigFile /etc/pureftpd-mysql.confMySQL 配置文件 (参考 README.MySQL)
PGSQLConfigFile /etc/pureftpd-pgsql.confPostgres 配置文件 (参考 README.PGSQL)
PureDB /etc/pure-ftpd/pureftpd.pdb用户数据库文件。
MaxDiskUsage 99当磁盘使用量打到99%时禁止上传。
CreateHomeDir yes如果虚拟用户的目录不存在则自动创建。
CustomerProof yes防止命令误操作。
LogPID yes如果你要为日志每一行添加 PID 去掉下面行的注释。
NoChmod yes不接受 CHMOD 命令。用户不能更改他们文件的属性。
KeepAllFiles yes允许用户恢复和上传文件,却不允许删除他们。

2、pure-pw常用命令

  • pure-pw --help 获取命令帮助
  • pure-pw mkdb 创建用户信息数据库
  • pure-pw useradd 增加一个虚用户
  • pure-pw usermod 修改用户信息
  • pure-pw userdel 删除一个虚用户
  • pure-pw passwd 修改用户密码
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐