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/SuSEfirewall2253行目に新しいサービス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 ftpuserpure-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.pdb141行目の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.conf439行目のコメントを外してTLSを有効にします。
TLS 1449行目のコメントを外し、より安全にするための新しいオプションを追加します。
TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3445行目のコメントを外して証明書ファイルを定義します。
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
参考
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。