在Debian或Ubuntu上使用ProFTPd安装FTP服务器

在本指南中,我们将了解如何配置FTP服务器(ProFTPd)在PC和服务器之间传输文件。

先决条件

  • 新部署的Vultr Debian或Ubuntu服务器实例。
  • 一个须藤用户

安装

更新系统。

sudo apt-get update
sudo apt-get dist-upgrade

安装proftpd

sudo apt-get install proftpd

在安装过程中,系统将询问您是否要以inetdstandalone模式安装。选择standalone模式。

组态

打开Proftpd配置文件。

sudo nano /etc/proftpd/proftpd.conf

该文件将类似于以下文本。

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
#

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         on
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Debian"
ServerType                      standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# Use this to jail all users in their homes
# DefaultRoot                     ~

# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell               off

# Port 21 is the standard FTP port.
Port                            21
...

主要配置指令

  • ServerName:指定FTP服务器的名称。客户端连接到服务器时将显示该名称。
  • TimeoutIdle:时间(以秒为单位),如果客户端在FTP服务器上不再处于活动状态,客户端将自动断开连接。
  • DefaultRoot:控制登录时分配给用户的默认根目录。
  • Port:FTP服务器的连接端口。几乎所有时间都是该端口21,除非您被防火墙阻止,否则不必更改它。
  • PassivePorts:限制PASV从客户端发送命令时服务器从中选择端口的范围。
  • MaxInstances:您要在FTP服务器上允许的最大同时连接数。

现在,我们必须激活该DefaultRoot选项。为此,找到DefaultRoot注释行并取消注释。

DefaultRoot                     ~

该值~表示用户将仅限于个人文件夹(例如/home/user12)。

注意:默认情况下,连接到FTP服务器的用户可以访问所有服务器文件夹,因此建议启用该选项DefaultRoot

更改ServerName

ServerName : the name of your FTP server

查找并取消注释以下各行(删除#每行的开头),以允许匿名连接到您的服务器。

# A basic anonymous configuration, no upload directories.

 <Anonymous ~ftp>
   User                         ftp
   Group                        nogroup
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias                    anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # Limit the maximum number of anonymous logins
   MaxClients                   10

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin                 welcome.msg
   DisplayFirstChdir            .message

   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

注意:如果在FTP服务器上启用匿名连接,则任何用户都可以连接到它。他们将有权访问/home/ftp目录,并且能够读取和下载文件,但不能修改或添加文件。

您可以通过添加以下行来禁止root用户访问FTP。

RootLogin off

更改配置后,重新启动服务器。

sudo service proftpd restart

注意:如果错误行显示为“无法解析主机”,请注意这并不重要,您可以忽略它。

添加一个FTP用户

添加一个用户,例如“ myuser”。

useradd --shell /bin/false myuser

创建用户“ myuser” 的主目录。

mkdir /home/myuser

将该目录的所有权更改为用户和组“ myuser”。

chown myuser:myuser /home/myuser/

为用户“ myuser” 设置密码。

passwd myuser

连接到您的FTP服务器

现在您的FTP服务器已安装并配置完毕,您希望能够连接到它。

只需ftp://server_ip_address在浏览器的地址栏中输入即可。替换server_ip_address为服务器的IP地址。然后将要求您提供usernamepassword

您可以使用以下命令查看谁连接到您的FTP服务器。

ftpwho

此外,您还可以查看统计信息。

ftpstats

留下評論

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息