DebianまたはUbuntuにProFTPdを使用してFTPサーバーをインストールする

このガイドでは、PCとサーバー間でファイルを転送するようにFTPサーバー(ProFTPd)を構成する方法を説明します。

前提条件

  • 新しくデプロイされたVultr DebianまたはUbuntuサーバーインスタンス。
  • A 須藤ユーザー

取り付け

システムを更新します。

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

をインストールしますproftpd

sudo apt-get install proftpd

インストール中に、inetdまたはstandaloneモードでインストールするかどうかを尋ねられます。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ファイアウォールでブロックされていない限り、このポートを変更する必要はありません。
  • PassivePortsPASVクライアントからコマンドを送信したときにサーバーが選択するポートの範囲を制限します。
  • 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


Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。