如何在 Fedora 22 上配置 Proftpd 服务器

简介:

在本文中,我们将了解如何在运行 Fedora 22 的电脑或服务器上使用 Proftpd 架设 FTP 服务器。ProFTPD 是一款基于 GPL 授权的自由开源 FTP 服务器软件,是 Linux 上的主流 FTP 服务器。它的主要设计目标是提供许多高级功能以及给用户提供丰富的配置选项以轻松实现定制。它具备许多在其他一些 FTP 服务器软件里仍然没有的配置选项。最初它是被开发作为 wu-ftpd 服务器的一个更安全更容易配置的替代。

FTP 服务器是这样一个软件,用户可以通过 FTP 客户端从安装了它的远端服务器上传或下载文件和目录。下面是一些 ProFTPD 服务器的主要功能,更详细的资料可以访问 http://www.proftpd.org/features.html

  • 每个目录都可以包含 ".ftpaccess" 文件用于访问控制,类似 Apache 的 ".htaccess"
  • 支持多个虚拟 FTP 服务器以及多用户登录和匿名 FTP 服务。
  • 可以作为独立进程启动服务或者通过 inetd/xinetd 启动
  • 它的文件/目录属性、属主和权限是基于 UNIX 方式的。
  • 它可以独立运行,保护系统避免 root 访问可能带来的损坏。
  • 模块化的设计让它可以轻松扩展其他模块,比如 LDAP 服务器,SSL/TLS 加密,RADIUS 支持,等等。
  • ProFTPD 服务器还支持 IPv6.

下面是如何在运行 Fedora 22 操作系统的计算机上使用 ProFTPD 架设 FTP 服务器的一些简单步骤。

1. 安装 ProFTPD

首先,我们将在运行 Fedora 22 的机器上安装 Proftpd 软件。因为 yum 包管理器已经被抛弃了,我们将使用最新最好的包管理器 dnf。DNF 很容易使用,是 Fedora 22 上采用的非常人性化的包管理器。我们将用它来安装 proftpd 软件。这需要在终端或控制台里用 sudo 模式运行下面的命令。

 
  1. $ sudo dnf -y install proftpd proftpd-utils

2. 配置 ProFTPD

现在,我们将修改软件的一些配置。要配置它,我们需要用文本编辑器编辑 /etc/proftpd.conf 文件。/etc/proftpd.conf 文件是 ProFTPD 软件的主要配置文件,所以,这个文件的任何改动都会影响到 FTP 服务器。在这里,是我们在初始步骤里做出的改动。

 
  1. $ sudo vi /etc/proftpd.conf

之后,在用文本编辑器打开这个文件后,我们会想改下 ServerName 以及 ServerAdmin,分别填入自己的域名和 email 地址。下面是我们改的。

 
  1. ServerName "ftp.linoxide.com"
  2. ServerAdmin arun@linoxide.com

在这之后,我们将把下面的设定加到配置文件里,这样可以让服务器将访问和授权记录到相应的日志文件里。

 
  1. ExtendedLog /var/log/proftpd/access.log WRITE,READ default
  2. ExtendedLog /var/log/proftpd/auth.log AUTH auth

调整 ProFTPD 设置

调整 ProFTPD 设置

3. 添加 FTP 用户

在设定好了基本的配置文件后,我们很自然地希望添加一个以特定目录为根目录的 FTP 用户。目前登录的用户自动就可以使用 FTP 服务,可以用来登录到 FTP 服务器。但是,在这篇教程里,我们将创建一个以 ftp 服务器上指定目录为主目录的新用户。

下面,我们将建立一个名字是 ftpgroup 的新用户组。

 
  1. $ sudo groupadd ftpgroup

然后,我们将以目录 /ftp-dir/ 作为主目录增加一个新用户 arunftp 并加入这个组中。

 
  1. $ sudo useradd -G ftpgroup arunftp -s /sbin/nologin -d /ftp-dir/

在创建好用户并加入用户组后,我们将为用户 arunftp 设置一个密码。

 
  1. $ sudo passwd arunftp
  2. Changing password for user arunftp.
  3. New password:
  4. Retype new password:
  5. passwd: all authentication tokens updated successfully.

现在,我们将通过下面命令为这个 ftp 用户设定主目录的读写权限(LCTT 译注:这是SELinux 相关设置,如果未启用 SELinux,可以不用)。

 
  1. $ sudo setsebool -P allow_ftpd_full_access=1
  2. $ sudo setsebool -P ftp_home_dir=1

然后,我们会设定不允许其他用户移动或重命名这个目录以及里面的内容。

 
  1. $ sudo chmod -R 1777 /ftp-dir/

4. 打开 TLS 支持

目前 FTP 所用的加密手段并不安全,任何人都可以通过监听网卡来读取 FTP 传输的数据。所以,我们将为自己的服务器打开 TLS 加密支持。这样的话,需要编辑 /etc/proftpd.conf 配置文件。在这之前,我们先备份一下当前的配置文件,可以保证在改出问题后还可以恢复。

 
  1. $ sudo cp /etc/proftpd.conf /etc/proftpd.conf.bak

然后,我们可以用自己喜欢的文本编辑器修改配置文件。

 
  1. $ sudo vi /etc/proftpd.conf

然后,把下面几行附加到我们在第 2 步中所增加内容的后面。

 
  1. TLSEngine on
  2. TLSRequired on
  3. TLSProtocol SSLv23
  4. TLSLog /var/log/proftpd/tls.log
  5. TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
  6. TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem

打开 TLS 配置

打开 TLS 配置

完成上面的设定后,保存退出。

然后,我们需要生成 SSL 凭证 proftpd.pem 并放到 /etc/pki/tls/certs/ 目录里。这样的话,首先需要在 Fedora 22 上安装 openssl。

 
  1. $ sudo dnf install openssl

然后,可以通过执行下面的命令生成 SSL 凭证。

 
  1. $ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem

系统会询问一些将写入凭证里的基本信息。在填完资料后,就会生成一个 2048 位的 RSA 私钥。

 
  1. Generating a 2048 bit RSA private key
  2. ...................+++
  3. ...................+++
  4. writing new private key to '/etc/pki/tls/certs/proftpd.pem'
  5. -----
  6. You are about to be asked to enter information that will be incorporated
  7. into your certificate request.
  8. What you are about to enter is what is called a Distinguished Name or a DN.
  9. There are quite a few fields but you can leave some blank
  10. For some fields there will be a default value,
  11. If you enter '.', the field will be left blank.
  12. -----
  13. Country Name (2 letter code) [XX]:NP
  14. State or Province Name (full name) []:Narayani
  15. Locality Name (eg, city) [Default City]:Bharatpur
  16. Organization Name (eg, company) [Default Company Ltd]:Linoxide
  17. Organizational Unit Name (eg, section) []:Linux Freedom
  18. Common Name (eg, your name or your server's hostname) []:ftp.linoxide.com
  19. Email Address []:arun@linoxide.com

在这之后,我们要改变所生成凭证文件的权限以增加安全性。

 
  1. $ sudo chmod 600 /etc/pki/tls/certs/proftpd.pem

5. 允许 FTP 通过 Firewall

现在,需要允许 ftp 端口,一般默认被防火墙阻止了。就是说,需要允许 ftp 端口能通过防火墙访问。

如果 打开了 TLS/SSL 加密,执行下面的命令。

 
  1. $ sudo firewall-cmd --add-port=1024-65534/tcp
  2. $ sudo firewall-cmd --add-port=1024-65534/tcp --permanent

如果 没有打开 TLS/SSL 加密,执行下面的命令。

 
  1. $ sudo firewall-cmd --permanent --zone=public --add-service=ftp
  2. success

然后,重新加载防火墙设定。

 
  1. $ sudo firewall-cmd --reload
  2. success

6. 启动并激活 ProFTPD

全部设定好后,最后就是启动 ProFTPD 并试一下。可以运行下面的命令来启动 proftpd ftp 守护程序。

 
  1. $ sudo systemctl start proftpd.service

然后,我们可以设定开机启动。

 
  1. $ sudo systemctl enable proftpd.service
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/proftpd.service to /usr/lib/systemd/system/proftpd.service.

7. 登录到 FTP 服务器

现在,如果都是按照本教程设置好的,我们一定可以连接到 ftp 服务器并使用以上设置的信息登录上去。在这里,我们将配置一下 FTP 客户端 filezilla,使用 服务器的 IP 或名称 *作为主机名,协议选择 *FTP,用户名填入 arunftp,密码是在上面第 3 步中设定的密码。如果你按照第 4 步中的方式打开了 TLS 支持,还需要在加密类型中选择 要求显式的基于 TLS 的 FTP,如果没有打开,也不想使用 TLS 加密,那么加密类型选择 简单 FTP

FTP 登录细节

FTP 登录细节

要做上述设定,需要打开菜单里的文件,点击站点管理器,然后点击新建站点,再按上面的方式设置。

FTP SSL 凭证

FTP SSL 凭证

随后系统会要求允许 SSL 凭证,点确定。之后,就可以从我们的 FTP 服务器上传下载文件和文件夹了。

总结

最后,我们成功地在 Fedora 22 机器上安装并配置好了 Proftpd FTP 服务器。Proftpd 是一个超级强大,能高度定制和扩展的 FTP 守护软件。上面的教程展示了如何配置一个采用 TLS 加密的安全 FTP 服务器。强烈建议设置 FTP 服务器支持 TLS 加密,因为它允许使用 SSL 凭证加密数据传输和登录。本文中,我们也没有配置 FTP 的匿名访问,因为一般受保护的 FTP 系统不建议这样做。 FTP 访问让人们的上传和下载变得非常简单也更高效。我们还可以改变用户端口增加安全性。好吧,如果你有任何疑问,建议,反馈,请在下面评论区留言,这样我们就能够改善并更新文章内容。谢谢!玩的开心 :-)

原文发布时间为:2015-08-4



本文来自云栖社区合作伙伴“Linux中国

目录
相关文章
|
17小时前
|
存储 Ubuntu 网络安全
|
21小时前
|
弹性计算 大数据 云计算
阿里云最便宜的云服务器多少钱一年?2024年阿里云服务器配置报价参考
阿里云最便宜的云服务器多少钱一年?在云计算的浪潮中,阿里云作为行业佼佼者,经常推出各种优惠活动。近期,阿里云为新用户推出了两款极具竞争力的服务器产品:一款是2核2G3M的轻量应用服务器,秒杀价年付仅需61元;另一款则是同配置的云服务器ECS,年费仅需99元。那么,面对这两款服务器,我们该如何选择呢?
|
21小时前
|
存储 弹性计算 安全
云服务器能用来做什么?云服务器用途解读及最新阿里云服务器配置价格表分享
随着互联网的深入发展,云服务器已经成为许多个人和企业不可或缺的一部分。那么,云服务器具体有哪些用途呢? 首先,云服务器是实现各类web服务的得力助手。无论是个人网站、中小型企业网站,还是大型门户网站、行业网站,乃至视频、电影网站等,都可以通过云服务器轻松搭建,助力您在网络世界占有一席之地。 其次,云服务器还可作为邮件服务器使用。凭借其高性能的数据处理能力,云服务器不仅能安全储存数据,还能快速处理数据,是企业搭建自己的企业邮箱系统的理想选择。
|
21小时前
|
弹性计算 大数据 测试技术
阿里云2核2G配置云服务器价格多少钱?2024年阿里云2核2G配置云服务器价格性能参考
在当下云计算的时代,阿里云作为国内领先的云服务提供商,一直在为我们带来高性价比的云产品。近期,阿里云推出的2核2G3M轻量应用服务器更是引起了广泛关注,尤其是其诱人的价格——新用户专享价仅需61元一年!要知道,原价可是87元一年,现在降价幅度相当大。
|
21小时前
|
弹性计算 小程序 大数据
阿里云4核8G配置云服务器价格多少钱?2024年阿里云4核8G配置云服务器配置报价参考
在数字化浪潮中,云服务器成为了企业与个人的首选。其中,阿里云以其稳定的服务和卓越的性能赢得了广大用户的信赖。那么,对于许多关注性能与价格的用户来说,[阿里云4核8G通用算力型u1实例云服务器ECS]的价格是多少呢? 在本次阿里云的特惠活动中,这款备受瞩目的云服务器配置展现出了极高的性价比。尤其是对于那些首次体验阿里云服务的用户来说,更是能够享受到专享的优惠价格——仅需955.58元一年!这样的价格,在同类产品中无疑是相当吸引人的。 通用算力型u1实例,作为阿里云的一款明星产品,不仅提供了均衡的计算、内存和网络资源,更能满足大多数场景下的应用需求。无论是搭建个人网站、进行小程序开发,还是支持
|
21小时前
|
弹性计算 数据挖掘 大数据
阿里云4核8G云服务器怎么样?2024年阿里云4核8G云服务器测评:价格配置、CPU性能
在数字化时代,数据成为驱动业务发展的核心力量。因此,无论是个人站长还是企业用户,都对云服务器的性能和价格提出了更高要求。阿里云作为国内云服务市场的领军者,始终致力于为用户提供卓越性能和极具竞争力的价格。阿里云4核8G通用算力型u1实例云服务器ECS备受瞩目。这款服务器凭借强大的4核CPU和8GB内存,能够轻松应对搭建网站、应用服务器以及进行数据分析和计算等多重任务。而其年度价格仅为955.58元,换算下来每月仅需80元,这一价格无疑在同类产品中极具竞争力。对于那些寻求高性能服务器以支持业务发展的用户来说,阿里云这款4核8G服务器无疑是一个理想选择。它不仅提供了出色的性能,还通过优惠活动大大降低
|
21小时前
|
弹性计算
2024年阿里云幻兽帕鲁Palworld服务器多少钱1个月_3个月_1年,阿里云游戏服务器价格配置详细介绍
2024年阿里云幻兽帕鲁Palworld服务器多少钱1个月_3个月_1年,2024年阿里云幻兽帕鲁服务器的价格根据配置不同而有所差异。一种常见的配置是4核16G12M的服务器,适合4~8人联机畅玩。另一种配置是8核32G22M的服务器,适合10~20人联机畅玩。
|
21小时前
|
存储 弹性计算 大数据
阿里云4核16G配置云服务器价格多少钱?2024年阿里云4核16G配置云服务器性能测评参考
阿里云4核16G配置云服务器的价格根据实例规格和促销活动的不同而有所变化。以ECS云服务器经济型e实例为例,其价格为26元1个月、149元半年或79元3个月。此外,还有其他实例规格可供选择,如通用型g7、通用型g8i、AMD通用型g8a、性能增强通用型g8ae、高主频通用型hfg8i、AMD通用型g7a、内存型r7p等。 在性能测评方面,阿里云4核16G配置的云服务器采用了英特尔E5-2680v4处理器,具备良好的扩展性,可以满足大多数中小型企业或个人开发者的需求。此外,阿里云提供的特价4核16G服务器还配备了10M公网带宽和100GB ESSD Entry系统盘,提供了良好的网络性能和存储
|
2天前
|
弹性计算 Ubuntu 搜索推荐
2024年《幻兽帕鲁/Palworld》阿里云服务器配置与报价明细
随着《幻兽帕鲁/Palworld》的持续火热,越来越多的玩家开始关注如何搭建自己的游戏服务器。腾讯云与阿里云作为国内领先的云服务提供商,为玩家们提供了稳定、高效的服务器选项。以下是2024年针对《幻兽帕鲁》的服务器配置与报价明细:
14 2
|
2天前
|
存储 弹性计算 ice
阿里云ECS云服务器怎么样?2024年阿里云ECS云服务器配置价格表
阿里云云服务器ECS的价格表因不同的配置、实例类型、地域和促销活动等因素而有所不同。以下是一些常见的阿里云云服务器ECS价格表信息: 1. 按量付费:按量付费是一种灵活的计费方式,您可以根据实际需求选择实例规格、操作系统、存储和带宽等配置,并按照实际使用情况进行计费。按量付费的价格通常比预付费要高一些,但灵活性更高,适合短期或临时使用云服务器的用户。