一、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.conf LDAP 配置文件
MySQLConfigFile /etc/pureftpd-mysql.conf MySQL 配置文件 (参考 README.MySQL)
PGSQLConfigFile /etc/pureftpd-pgsql.conf Postgres 配置文件 (参考 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 修改用户密码
文章知识点与官方知识档案匹配,可
A版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/carefree2005/article/details/121352483