FTPサーバー · 1 min read · Dec 16, 2025

OpenSUSE Leap 42.1にTLSと仮想ユーザーを使用してPure-FTPdをインストールする方法

Pure-FTPdは、Troll-FTPdに基づく無料で軽量なFTPサーバーで、2001年に開発が始まり、Linux、*BSD、Solaris、HP-UXなどの多くのUnix系OSで動作します。Pure-FTPdには、仮想ドメイン、chrootホームディレクトリ、仮想ユーザー、TLS/SSLサポート、仮想クォータなど、多くの機能があります。

このチュートリアルでは、OpenSUSE Leap 42.1にpure-ftpdをインストールして構成する方法を示します。TLS/SSLを使用してpure-ftpdを設定し、次に仮想ユーザーを設定する方法を示します。

前提条件

  • OpenSUSE Leap 42.1
  • ルート権限
  • OpenSUSE、Zypperの知識

ステップ1 - SuSEfirewall2のインストールと構成

SuSEfirewall2は、’/etc/sysconfig/SuSEfirewall2’ファイルにファイアウォール構成を生成するためのスクリプトです。SuSEfirewall2をインストールし、SSHおよびFTPサービスのポートを開きます。

zypperを使用してSuSEfirewall2をインストールします:

zypper in SuSEfirewall2

次に、vimを使用して構成ファイル’/etc/sysconfig/SuSEfirewall2’を編集します:

vim /etc/sysconfig/SuSEfirewall2

253行目に新しいサービスsshとFTPを追加します:

FW_SERVICES_EXT_TCP="ssh ftp"

保存して終了します。

次に、systemctlコマンドを使用してSuSEfirewall2を起動します:

systemctl start SuSEfirewall2

ステップ2 - Pure-FTPdのインストールと構成

このステップでは、TLS/SSL構成のためにOpenSSLを使用してpure-ftpdをインストールし、pure-ftpdユーザーとグループを構成します。

以下のようにzypperを使用してアプリケーションをインストールします:

zypper in pure-ftpd openssl

次に、新しいグループ’ ftpgroup ‘と、マスター’FTPユーザー’のための新しいユーザー’ ftpuser ‘をそのグループに追加します。

groupadd ftpgroup  
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

pure-ftpdディレクトリに移動し、vimエディタを使用して構成ファイル’pure-ftpd.conf’を編集します:

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

匿名ユーザーを無効にするために、81行目の値を’yes’に変更します。

NoAnonymous                 yes

バックエンドを構成するために131行目のコメントを外します。Pure-ftpdはMySQL、PostgreSQL、LDAPをバックエンドとしてサポートしていますが、このチュートリアルでは’PureDB’をバックエンドとして使用します。

PureDB                        /etc/pure-ftpd/pureftpd.pdb

141行目のPAMAuthentication行をコメントアウトして、PureDBを認証ソースとして使用します。

#PAMAuthentication             yes

保存して終了します。

ステップ3 - Pure-FTPdのTLS/SSL構成

opensslコマンドを使用して’/etc/ssl/private’ディレクトリに新しい自己署名証明書ファイルを生成します:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

証明書ファイルの権限を0600に変更します:

chmod 600 /etc/ssl/private/pure-ftpd.pem

次に、pure-ftpdディレクトリに戻り、クライアント接続のためにTLS/SSLサポートを有効にするために構成ファイルを編集します。

cd /etc/pure-ftpd/  
vim pure-ftpd.conf

439行目のコメントを外してTLSを有効にします。

TLS                      1

449行目のコメントを外し、より安全にするための新しいオプションを追加します。

TLSCipherSuite           HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3

445行目のコメントを外して証明書ファイルを定義します。

CertFile                 /etc/ssl/private/pure-ftpd.pem

保存して終了します。

次に、systemctlコマンドを使用してpure-ftpdを起動します:

systemctl start pure-ftpd

ステップ4 - 仮想ユーザーの構成

Pure-FTPdは、実際のシステム(Linux)ユーザーの代わりに仮想ユーザーを作成して使用する機能を提供します。Pure-FTPdは、いくつかの認証バックエンドを提供しており、仮想ユーザーの構成はサーバーが使用するバックエンドによって異なります。ステップ2では、’PureDB’をバックエンドとして設定しました。

pure-ftpdが提供する’pure-pw’コマンドを使用して新しい仮想ユーザーを作成できます。このステップでは、ディレクトリ’/srv/ftp/shiro’をFTPホームディレクトリとして持つ新しい仮想ユーザー’shiro’を作成します。このユーザーはそのディレクトリにchrootされ、他のシステムディレクトリにアクセスできません。

pure-pwを使用して新しい仮想ユーザーを作成します:

pure-pw useradd shiro -u ftpuser -d /srv/ftp/shiro

仮想ユーザーのためのディレクトリを作成し、そのディレクトリの所有者をマスター’FTPユーザー’に変更します。

mkdir -p /srv/ftp/shiro  
chown -R ftpuser.ftpgroup /srv/ftp/shiro

次に、以下のコマンドで変更を保存する必要があります:

pure-pw mkdb

これでユーザー’shiro’が使用できるようになりました。コマンドラインまたはGUIインターフェースのFileZillaを使用してサーバーに接続できます。

注意:

pure-pwにはさらに多くのコマンドオプションがあります。’ pure-pw help ‘を使用してすべての便利なコマンドを確認できます。

ステップ5 - テスト

テストのためにターミナルでFTPコマンドを使用します。ターミナルを開き、「ftp」と入力します:

ftp

次に、pure-ftpdサーバーのIPを入力します:

open 192.168.43.69

ユーザー’shiro’とパスワードでログインし、’Enter’を押します。

‘put’コマンドを使用してファイルをアップロードしてみてください:

put picture.png mypict.png

次に、以下のlsコマンドでサーバー上にmy pict.pngファイルが表示されます:

ls

FTP接続

参考

Share: X/Twitter LinkedIn

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

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