CentOS 8.x/Rocky Linux 8.x编译安装配置Pure-FTPd服务器

说明:

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 /home/web/ftpuser01 #添加用户

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

/usr/local/pureftpd/bin/pure-pw usermod ftpuser01 -d /home/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客户端连接

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇