技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页FTP>正文
CentOS 8.x/Rocky Linux 8.x编译安装配置Pure-FTPd服务器
2021年06月28日 FTP 暂无评论 ⁄ 被围观 978次+

说明:

Pure-FTPd是一款开源的FTP服务器软件,配置简单,安全高效,下面我们在CentOS 8.x/Rocky Linux 8.x系统下部署Pure-FTPd

一、配置防火墙,开启FTP服务器需要的端口

CentOS 8.x/Rocky Linux 8.x默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:50000 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

说明:21端口是ftp服务端口;30000到50000是ftp被动模式需要的端口,可自定义一段大于1024的tcp端口。

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

三、安装pure-ftpd

1、安装编译工具包

yum install make gcc* gcc-c++ openssl openssl-devel bzip2 wget tar

2、下载pure-ftpd

cd /usr/local/src/

wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.49.tar.gz

3、安装pure-ftpd

mkdir -p /usr/local/pureftpd  #创建安装目录

cd /usr/local/src/

tar zxvf pure-ftpd-1.0.49.tar.gz

cd pure-ftpd-1.0.49

./configure --prefix=/usr/local/pureftpd --with-language=simplified-chinese --with-everything CFLAGS=-O2 --with-puredb --with-quotas --with-cookie --with-virtualhosts --with-diraliases --with-sysquotas --with-ratios --with-altlog --with-paranoidmsg --with-shadow --with-welcomemsg --with-throttling --with-uploadscript --with-language=english --with-ftpwho --with-tls

make

make install

vi /etc/profile   #把pure-ftpd服务加入系统环境变量:在最后添加下面这一行

export PATH=$PATH:/usr/local/pureftpd/bin

:wq! #保存退出

source /etc/profile  #使配置立刻生效

vi /usr/lib/systemd/system/pure-ftpd.service    #设置pureftpd开机启动

[Unit]

Description=Pure-FTPd FTP server

After=syslog.target network.target

[Service]

Type=forking

ExecStart=/usr/local/pureftpd/sbin/pure-ftpd   /usr/local/pureftpd/etc/pure-ftpd.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

[Install]

WantedBy=multi-user.target

:wq! #保存退出

systemctl enable pure-ftpd   #添加开机启动

systemctl start pure-ftpd.service  #启动

systemctl stop pure-ftpd.service  #停止

systemctl restart pure-ftpd.service  #重启

4、配置pure-ftpd

4.1新建系统用户和组www,用户登录终端设为/sbin/nologin(即不能登录系统)

groupadd www

useradd -s /sbin/nologin -g www www

#此系统用户作为ftp虚拟用户的宿主用户

4.2创建FTP服务器虚拟用户访问目录

mkdir -p /data/web  #ftp虚拟用户主目录

mkdir -p /data/web/ftpuser01  #ftp虚拟用户ftpuser01的目录

mkdir -p /data/web/ftpuser02  #ftp虚拟用户ftpuser02的目录

chown  www.www  /data/web  -R  #设置ftp虚拟用户目录权限为宿主用户www所有

4.3创建虚拟用户

/usr/local/pureftpd/bin/pure-pw   useradd   ftpuser01  -u  www  -d   /data/web/ftpuser01

提示输入ftp虚拟用户密码:

Password:123456

Enter it again:123456

同样可以添加第二个用户

/usr/local/pureftpd/bin/pure-pw   useradd   ftpuser02  -u  www  -d   /data/web/ftpuser02

-u选项将ftp虚拟用户和宿主用户www关联,虚拟用户登录后,会以宿主用户权限进行上传下载操作

-d选项后面是ftp虚拟用户的目录,每个ftp虚拟用户只能访问自己的目录

/usr/local/pureftpd/bin/pure-pw   mkdb  #生成虚拟用户数据文件

#虚拟用户数据存放文件

/usr/local/pureftpd/etc/pureftpd.passwd    #虚拟用户文件

/usr/local/pureftpd/etc/pureftpd.pdb         #虚拟用户数据文件

4.4修改pure-ftpd配置文件

mkdir -p /usr/local/pureftpd/var/run/  #创建进程文件存放目录

mkdir -p /usr/local/pureftpd/var/log/  #创建日志文件存放目录

vi   /usr/local/pureftpd/etc/welcome  #添加Pure-FTPd登录欢迎信息文件,内容可以自定义

Welcome to Pure-FTPd

:wq! #保存退出

cp /usr/local/pureftpd/etc/pure-ftpd.conf     /usr/local/pureftpd/etc/pure-ftpd.conf-bak   #备份配置文件

vi   /usr/local/pureftpd/etc/pure-ftpd.conf  #编辑配置文件

Bind    0.0.0.0,21   #设置ftp端口,默认为21,0.0.0.0表示本机所有ip地址

PassivePortRange   30000   50000   #设置PureFTP被动端口

AnonymousCantUpload    yes    #禁止匿名用户上传文件( no表示允许上传)

NoAnonymous   yes    #禁止匿名连接,仅允许认证用户连接

UnixAuthentication  no    #禁止系统用户认证

Daemonize               yes       #允许后台运行

PureDB                    /usr/local/pureftpd/etc/pureftpd.pdb   #虚拟用户数据文件

PIDFile                   /usr/local/pureftpd/var/run/pure-ftpd.pid     #进程文件

AltLog                   clf:/usr/local/pureftpd/var/log/pureftpd.log   #日志文件

FortunesFile         /usr/local/pureftpd/etc/welcome  #Pure-FTPd登录欢迎信息

#TLS                       2    #支持加密传输

#CertFile              /usr/local/pureftpd/ssl/pure-ftpd.pem    #加密证书路径

:wq! #保存退出

systemctl restart pure-ftpd.service  #重启

5、使用ftp客户端进行连接

在Windows下使用ftp客户端软件(FileZilla、FlashFXP)连接ftp服务器

扩展阅读:

1、pure-ftpd虚拟用户相关操作

/usr/local/pureftpd/bin/pure-pw passwd ftpuser01 #修改密码

/usr/local/pureftpd/bin/pure-pw useradd ftpuser01 -u www -d /data/web/ftpuser01 #添加用户

/usr/local/pureftpd/bin/pure-pw userdel ftpuser01 #删除用户

/usr/local/pureftpd/bin/pure-pw usermod ftpuser01 -d /data/web/ftpuser01 #修改用户目录

/usr/local/pureftpd/bin/pure-pw show ftpuser01 #查看用户详细信息

/usr/local/pureftpd/bin/pure-pw list #查看所有用户

/usr/local/pureftpd/bin/pure-pw mkdb #对ftp虚拟用户进行修改等操作后要重新生成数据文件,重启pure-ftpd服务才能生效

2、Pure-FTPd服务器启用加密传输

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配置文件/usr/local/pureftpd/etc/pure-ftpd.conf中设置启用证书

TLS                       2    #支持加密传输

CertFile                /usr/local/pureftpd/ssl/pure-ftpd.pem    #加密证书路径

#TLS和CertFile这两个选项必须同时启用,TLS的值为1的时候,不启用ssl加密,值为2启用ssl加密

systemctl restart pure-ftpd.service     #重启

使用ftp客户端连接

至此,CentOS 8.x/Rocky Linux 8.x编译安装配置Pure-FTPd服务器教程完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2021 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接