ProFTPD設定 · 2 min read · Dec 22, 2025

Debian WheezyおよびUbuntu 14.04にProFTPDをインストールおよび設定する方法

この文書では、Debian WheezyサーバーにProFTPDをインストールおよび設定する方法について説明します。これはUbuntu 14.04でも動作します。ProFTPDは、UnixおよびUnix系オペレーティングシステム用のFTPデーモンです。ProFTPDはGNU一般公衆ライセンス(GPL)の下で開発、リリース、配布されており、基本的にそれをフリーソフトウェアとして確立します。つまり、完全かつ完全なソースコードがProFTPDパッケージに付随するか、事前にコンパイルされたバイナリを配布するすべてのサイトによって提供される限り、販売、ライセンス付与、その他の方法で操作することができます。このソフトウェアは、すべての派生作品もGNU一般公衆ライセンスの下でライセンスされる限り、いつでも誰でも修正できます。

このガイドは、UbuntuとDebianサーバーの両方で機能します。

1 前提条件

このチュートリアルはDebian 7.6サーバーに基づいているため、このチュートリアルを続行する前に基本的なDebian 7.6サーバーのインストールを設定する必要があります。システムには静的IPアドレスが必要です。このチュートリアルでは、IPアドレスとして192.168.0.100を使用し、ホスト名としてserver1.example.comを使用します。

2 ProFTPDのインストール

2.1 インストール:

まず、次のようにProFTPDとOpenSSLをインストールします:

apt-get install proftpd openssl

ProFTPDに関するいくつかの質問が表示されるので、スタンドアロンを選択してOKを押します。

次のようにProFTPDのバージョンを確認できます:

proftpd -v

root@server1:~# proftpd -v

ProFTPD Version 1.3.4a

root@server1:~#

2.2 ProFTPDユーザーの作成

これには、ftpgroupというグループと、ProFTPD用のユーザーsrijanを作成します。ユーザーsrijanのホームディレクトリを/ftpshareに制限します。

addgroup ftpgroup
adduser srijan -shell /bin/false -home /ftpshare
root@server1:~# adduser srijan -shell /bin/false -home /ftpshare  
 Adding user `srijan' ...  
 Adding new group `srijan' (1002) ...  
 Adding new user `srijan' (1001) with group `srijan' ...  
 Creating home directory `/ftpshare' ...  
 Copying files from `/etc/skel' ...  
 Enter new UNIX password: <--ftppassword  
 Retype new UNIX password: <--ftppassword  
 passwd: password updated successfully  
 Changing the user information for srijan  
 Enter the new value, or press ENTER for the default<--ENTER  
     Full Name []: <--ENTER  
     Room Number []: <--ENTER  
     Work Phone []: <--ENTER  
     Home Phone []: <--ENTER  
     Other []: <--ENTER  
 Is the information correct? [Y/n] <--Y  
 root@server1:~#

次に、srijanユーザーをftpgroupに追加します:

adduser srijan ftpgroup

次に、ディレクトリの内容を削除したり名前を変更したりできないように保護する必要があるため、次のようにディレクトリの権限を変更します:

chmod -R 1777 /ftpshare/

次に、次のようにProFTPDを設定する必要があります:

nano /etc/proftpd/proftpd.conf

以下のように変更します

[...]  
UseIPv6 off  
[...]  
  
    RootLogin   off
    RequireValidShell off


DefaultRoot  ~


    DenyGroup !ftpgroup

私はIPV6を使用していないので、上記でオフにしました。RootLogon offでProFTPDによるrootユーザーのログインを無効にしています。DefaultRootは、ユーザーが自分のホームフォルダにのみアクセスできるように制限するために追加されました。DenyGroupは、ftpgroupのユーザーのみがftpサーバーにアクセスできるようにし、他のすべての接続は拒否されます。

サービスを次のように再起動します:

service proftpd restart

サービスを再起動するときに、次のようなエラーが表示されることがあります。

root@server1:~# service proftpd restart

[ ok ] Stopping ftp server: proftpd.

[….] Starting ftp server: proftpdserver1 proftpd[6052]: mod_tls_memcache/0.1: notice: unable to register ‘memcache’ SSL session cache: Memcache support not enabled

. ok

root@server1:~#

このエラーを解決するには、/etc/proftpd/modules.confファイルを編集し、次のように行をコメントアウトします:

nano /etc/proftpd/modules.conf
[...]  
#LoadModule mod_tls_memcache.c  
[...]  

これでエラーが解決します。

次に、ユーザーsrijanとパスワードでftp://192.168.0.100にログインできます。

3 ProFTPDでのTLSの有効化

ProFTPDでTLSを有効にするには、/etc/proftpd/proftpd.confを開きます。

nano /etc/proftpd/proftpd.conf

次のように変更し、行のコメントを外します:

[...]  
Include /etc/proftpd/tls.conf  
[...]  

次に、元のファイルのバックアップを作成し、次のようにファイルを編集します:

cp /etc/proftpd/tls.conf /etc/proftpd/tls.conf_orig  
 cat /dev/null > /etc/proftpd/tls.conf  
 nano /etc/proftpd/tls.conf  
 

以下のようにエントリを入力します:


TLSEngine                  on
TLSLog                     /var/log/proftpd/tls.log
TLSProtocol                SSLv23
TLSOptions                 NoCertRequest
TLSRSACertificateFile      /etc/proftpd/ssl/proftpd.cert.pem
TLSRSACertificateKeyFile   /etc/proftpd/ssl/proftpd.key.pem
TLSVerifyClient            off
TLSRequired                on

TLSを使用するには、SSL証明書を作成する必要があります。私は/etc/proftpd/sslに作成しますので、まずそのディレクトリを作成します:

mkdir /etc/proftpd/ssl  
 

その後、次のようにSSL証明書を生成できます:

openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem

国名(2文字のコード)[AU]: <– 国名を入力します(例: “DE”)。
州または県名(正式名称)[Some-State]: <– 州または県名を入力します。
市名(例: city)[]: <– 市名を入力します。
組織名(例: company)[Internet Widgits Pty Ltd]: <– 組織名を入力します(例: 会社名)。
組織単位名(例: section)[]: <– 組織単位名を入力します(例: “IT部門“)。
共通名(例: あなたの名前)[]: <– システムの完全修飾ドメイン名を入力します(例: “server1.example.com”)。
メールアドレス[]: <– メールアドレスを入力します。

セキュリティ上の理由から、証明書を次のように読み取り専用にします:

chmod 0440 /etc/proftpd/ssl/proftpd.key.pem

最後に、次のようにProFTPDサービスを再起動します:

service proftpd restart

FileZillaソフトウェアを使用してProFTPDサーバーに接続できます。サーバーに接続するには、クライアントにFileZillaがインストールされている必要があります。FileZillaを開き、次のように詳細を入力します:

詳細は次のとおりです

ホスト = 192.168.0.100
プロトコル = FTP
ユーザー = srijan
ポート = 21以外のポートにカスタマイズしていない場合は空白にできます
パスワード = ftppassword(上記で作成したばかり)

注意: 上記の手順で接続を暗号化したため、Require explicit FTP over TLSで暗号化を使用します。

TLSを構成していない場合は、Use Plain FTPを使用できます。

証明書を信頼するように求められたら、OKを押します。

FTP共有ディレクトリに接続されます。

4 ProFTPDでの匿名FTPアクセス

ProFTPDで匿名FTPアカウントを作成できます。ProFTPD設定ファイルに次のエントリを追加します:

nano /etc/proftpd/proftpd.conf

ファイルの最後に次のエントリを追加します。

[...]  
###匿名共有#####

   User                         ftp
   Group                        nogroup


    AllowAll


   # クライアントが「anonymous」と「ftp」の両方でログインできるようにしたい
   UserAlias                    anonymous ftp

   # 見た目の変更、すべてのファイルはftpユーザーに属します
   DirFakeUser  on ftp
   DirFakeGroup on ftp

   RequireValidShell            off

   # 匿名ログインの最大数を制限
   MaxClients                   10


   # 匿名chroot内のすべての場所でWRITEを制限
   
     
       DenyAll
     
   

~              

次に、FileZillaを通じて接続します:

注意: 上記の手順で接続を暗号化したため、Require explicit FTP over TLSで暗号化を使用します。

TLSを構成していない場合は、Use Plain FTPを使用できます。

接続を押します:

証明書を信頼するように求められたら、OKを押します。

匿名ユーザーでサーバーに正常に接続しました。

おめでとうございます!これでDebian WheezyにProFTPDサーバー環境を正常に構成しました :)

5 リンク

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。