Pure-FTPD是一款开源、安全的FTP服务器程序,整体配置简单、运行效率高、几乎支持所有操作系统。今天给大家分享Linux编译安装PureFTPD,轻松部署企业中常见的FTP服务器。
实验环境
操作系统:CentOS 7.9
Pure-FTPD:1.0.49
安装篇
第一步 安装依赖包
- # yum -y install gcc pam-devel openssl-devel
第二步 下载、解压源码包
- # cd /usr/local/src
- # wget --no-check-certificate https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.49.tar.gz
- # tar xzf pure-ftpd-1.0.49.tar.gz
第三步 新建用户组、用户
- # groupadd pureftpd
- # useradd pureftpd -M -g pureftpd -s /sbin/nologin
第四步 编译安装Pure-FTPD
- # cd /usr/local/src/pure-ftpd-1.0.49
- # ./configure --prefix=/usr/local/pureftpd \
- --with-tls \
- --with-pam \
- --with-ratios \
- --with-cookie \
- --with-quotas \
- --with-puredb \
- --with-throttling \
- --with-everything \
- --with-peruserlimits \
- --with-language=simplified-chinese
- # make
- # make install
第五步 生成证书文件
- # mkdir /usr/local/pureftpd/ssl
- # openssl req -x509 -nodes -days 7200 -newkey rsa:2048 -keyout /usr/local/pureftpd/ssl/pure-ftpd.pem -out /usr/local/pureftpd/ssl/pure-ftpd.pem
- # chmod 600 /usr/local/pureftpd/ssl/pure-ftpd.pem
第六步 配置Pure-FTPD
- # mv /usr/local/pureftpd/etc/pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf.bak
- # vim /usr/local/pureftpd/etc/pure-ftpd.conf
- #自定义用户根目录
- ChrootEveryone yes
- #使用加密传输
- TLS 2
- #加密证书
- CertFile /usr/local/pureftpd/ssl/pure-ftpd.pem
- #兼容其他客户端
- BrokenClientsCompatibility no
- #最大用户连接数
- MaxClientsNumber 50
- #后台运行程序
- Daemonize yes
- #每个IP最大连接数
- MaxClientsPerIP 8
- #记录日志
- VerboseLog yes
- #显示隐藏文件
- DisplayDotFiles yes
- #仅允许匿名用户访问
- AnonymousOnly no
- #不允许匿名用户访问
- NoAnonymous yes
- #定义日志类型
- SyslogFacility ftp
- #不解析DNS
- DontResolve yes
- #最大空闲时间
- MaxIdleTime 15
- #浏览限制(文件10000,目录8)
- #LimitRecursion 10000 8
- #匿名用户不允许创建目录
- AnonymousCanCreateDirs no
- #系统负载大于4后,匿名用户禁止下载
- MaxLoad 4
- #禁止下载未经本地管理员验证的文件
- AntiWarez yes
- #文件掩码
- Umask 133:022
- #验证最小登录用户ID
- MinUID 500
- #允许已通过身份验证使用FXP传输
- AllowUserFXP yes
- #允许匿名用户使用FXP传输
- AllowAnonymousFXP no
- #用户不能修改点文件
- ProhibitDotFilesWrite no
- #用户不能读取点文件
- ProhibitDotFilesRead no
- #重命名已存在的文件
- AutoRename no
- #禁止匿名用户上传新文件
- AnonymousCantUpload yes
- #仅允许来自以下IP地址的非匿名用户连接
- #TrustedIP 192.168.1.1
- #分区使用率超过90%后,禁用上传
- MaxDiskUsage 90
- #防止文件权限修改导致文件锁定
- CustomerProof yes
- #开启并发限制(一个认证用户最大三个活动进程,同时最多只能有20个匿名用户进程)
- PerUserLimits 3:20
- #仅允许IPv4连接
- IPV4Only yes
- #仅允许IPv6连接
- #IPV6Only yes
- #用户信息数据库
- PureDB /usr/local/pureftpd/etc/pureftpd.pdb
第七步 配置启动服务脚本、开机启动
- # vim /etc/init.d/pure-ftpd
- #!/bin/bash
- #chkconfig: 2345 85 15
- PURE_FTPD="/usr/local/pureftpd/sbin/pure-ftpd"
- PURE_CONF="/usr/local/pureftpd/etc/pure-ftpd.conf"
- PURE_PID="/var/run/pure-ftpd.pid"
- PROG="Pure-FTPd"
- RETVAL=0
- start() {
- echo -n $"Starting $PROG... "
- $PURE_FTPD $PURE_CONF
- if [ "$?" = 0 ] ; then
- echo " done"
- else
- echo " failed"
- fi
- }
- stop() {
- echo -n $"Stopping $PROG... "
- if [ ! -e $PURE_PID ]; then
- echo -n $"$PROG is not running."
- exit 1
- fi
- kill `cat $PURE_PID`
- if [ "$?" = 0 ] ; then
- echo " done"
- else
- echo " failed"
- fi
- }
- restart(){
- echo $"Restarting $PROG..."
- $0 stop
- sleep 2
- $0 start
- }
- status(){
- if [ -e $PURE_PID ]; then
- echo $"$PROG is running."
- else
- echo $"$PROG is not running."
- fi
- }
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- restart
- ;;
- status)
- status
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart}"
- esac
- # chmod +x /etc/init.d/pure-ftpd
- # chkconfig --add pure-ftpd
- # chkconfig pure-ftpd on
第八步 配置程序环境变量
- # echo "export PATH="$PATH:/usr/local/pureftpd/bin::/usr/local/pureftpd/sbin"" >> /etc/profile
- # source /etc/profile
第九步 创建数据目录
- # mkdir /data
- # chown -R pureftpd:pureftpd /data
第十步 创建虚拟用户(虚拟用户:wanghualang)
- # pure-pw useradd wanghualang -u pureftpd -d /data
- Password: 123456
- Enter it again:123456
扩展阅读展开
添加虚拟用户:pure-pw useradd user
删除虚拟用户:pure-pw userdel user
修改用户密码:pure-pw passwd user
查看用户信息:pure-pw show user
查看用户列表:pure-pw list
第十一步 生成数据库文件
- # pure-pw mkdb
第十二步 启动Pure-FTPD
- # service pure-ftpd start
第十三步 登陆测试
WinSCP:https://www.wanghualang.com/winscp.html
FileZilla:https://www.wanghualang.com/filezilla.html
使用WinSCP、FileZilla等客户端软件登陆,协议选择FTP,加密选择TLS/SSL显示加密。
您可以选择一种方式赞助本站
支付宝扫一扫
微信扫一扫
赏