blog

vsftpd: Linux UbuntuでFTPをセットアップする

マシンにftpサーバを設置するには、ftpサーバソフトをインストールする必要があります。Linuxで代表的なftpサーバソフトは、Wu-FTP、ProFTP、Vsftpで、Vsftpはセキュリティ、高...

Nov 15, 2023 · 5 min. read
シェア

お使いのマシンにftpサーバを設置するには、ftpサーバソフトをインストールする必要があります。Linuxの代表的なftpサーバソフトには、Wu-FTP、ProFTP、Vsftpがあります。

Wu-FTPはワシントン大学で開発されました。強力で、より複製性の高い構成になっています。初期に開発されたため、非常に広く使われており、そのためハッカーの主要な標的となっています。

ProFTPは、Wu-FTPの弱点に対処するために開発され、セキュリティを向上させ、Wu-FTPにはないいくつかの機能を提供し、FTPサーバーのセットアップと管理の作業を大幅に簡素化します。

Vsftp は、セキュリティ、パフォーマンス、安定性の 3 つの面で優れた性能を備えています。主な機能には、仮想 IP 設定、仮想ユーザ、スタンドアロン、inetd 動作モード、強力なシングルユーザ設定機能、帯域幅制限などがあります。次に、ubuntuでvsftpdをセットアップする方法を説明します。

vsftpdのインストール:

ubuntuでは、apt sudo apt-get install vsftpdでvsftpdを直接インストールできます。

インストールが完了したら、vsftpdプロセスが開始したかどうかを確認します。

ps -eaf|grep vsftpd

vsftpd プロセスは

netstat -tnl|grep :21

ポート21がリッスンされています。

vsftpdの設定ファイルです:

ubuntuでは、vsftpdの主な設定ファイルは以下のように配布されています:

/etc/vsftpd.conf vsftpd サーバー設定ファイル

/usr/sbin/vsftpd vsftpd サーバープロセスファイル

/etc/pam.d/vsftpd vsftpd サーバ PAM インタフェース設定ファイル

/var/ftp 匿名 vsftpd サーバユーザの作業ディレクトリ

vsftpdサーバを設定します:

vsftpdサーバーの設定ファイルと、各パラメーターは以下のとおりです:

/etc/vsftpd.conf

----------------vsftpd.conf---。-------------

listen=YES

listen_ipv6=YES # listen=YESとlisten_ipv6=YESがYESに設定されているのは、前者がipv4をリッスンし、後者がipv6をリッスンし ますが、コンフィギュレーションファイルで同時に設定することはできません。

anonymous_enable=YES # 匿名ユーザーにFTPサーバーへのログインを許可することを示します。

anon_root=/var/ftp/anonymous#匿名ユーザーが/var/ftp/anonymousディレクトリにログインしている場合、そのディレクトリのファイルをダウンロードできます。

anon_uploads_enable=YES # 匿名ユーザーがファイルをアップロードできます。

anon_mkdir_write_enable=YES # 匿名ユーザーがサーバー上にディレクトリを作成可能

anon_other_write_enable=YES # 匿名ユーザーはサーバー上で名前付け、削除、その他の書き込み操作を行うことができます。

local_enable=YES # ローカルユーザアカウントのログインを許可することを示します。

local_umask=022 # ローカルユーザが新規ファイルを作成する際のファイルの初期パーミッションを示します。 022は、初期パーミッションが作成者にフルパーミッションで、他のユーザには 読み取りと実行のパーミッションしかないことを意味し、077は、初期パーミッションが 作成者にフルパーミッションで、他のユーザにはパーミッションがないことを意味します。

write_enable=YES # サーバーが書き込み関連の制御コマンドを受け取ることを示します。

dirmessage_enable=YES # ユーザーが初めて新しいディレクトリに入るときに、何らかの情報の入力を 求めることを示します。

use_localtime=YES # サーバーがローカルタイムゾーンの時刻を表示することを示します.

xferlog_enable=YES # ログ生成を許可します。

xferlog_std_format=YES # ログは標準のxferlog形式です。

xferlog_file=/var/log/vsftpd.log# ログファイルとそのディレクトリ。

connect_from_port_20=YES # データ接続を確立する際、送信元ポートとしてポート20を使用

pam_service_name=vsftpd # /etc/pam.dにあるPAMサービス設定ファイルの名前を指定します。

chown_uploads=YES # この2つのオプションは関連する設定の組で、匿名ユーザーによってアップロードされたファイルが誰であろうと誰であろうとなることを示します。

chown_username=whoever # ファイルの所有者が別のユーザーに変更された後, その匿名ユーザーはファイルを 削除することができなくなります.

idle_session_timeout=600 # 制御コネクションのタイムアウト値600秒を示します。

data_connection_timeout=120 # データ接続のタイムアウト値が120秒であることを示します。

nopriv_user=ftpsecure # vsftpdプロセスが非特権状態で実行されている場合、使用されるユーザーIDが ftpsecureであることを示します。

async_abor_enable=NO # vsftpdが「非同期ABOR」FTPコマンドに対応していることを示します。

ascii_upload_enable=YES

ftpd_banner=Welcome to stone FTP service. # ユーザがログインしたときに, Welcome to stone FTP serviceの情報を表示することを示します. このオプションを指定しないと, vsftpdサーバの名前とバージョンが表示されます. これはセキュリティ上の問題であるため, この情報を隠すためにこのようにしています.

deny_email_enable=YES # 匿名ユーザがログインパスワードとしてaaa@を入力すると, ログインが拒否されます.

chroot_list_file=/etc/vsftpd/chroot_list # NOに設定すると、これらのユーザがFTPサーバにログインしたときに表示され るルートディレクトリは、ユーザ個人のディレクトリになります。

chroot_local_user=YES # chroot_local_userをYESに設定すると、上記のユーザーリストは個人用ディレクトリに制限されず、さらに他のディレクトリにリダイレクトできます

ls_recurse_enable=YES # クライアントがlsコマンドを使用する際に-Rパラメータを追加できることを示します。

anon_max_rate=0 # 匿名ユーザークライアントが到達可能な最大レートを設定します。

local_max_rate=0 # このオプションはローカルユーザーのレートを制限します.

max_clients=0 # vsftpd が受信できるクライアント接続の最大数

max_per_ip=5 # 各ホストに接続できるクライアント数を制限します。ダウンロード速度を速 めるために、ユーザーが多くのクライアント接続を開くと、他のユーザーの通 常利用に影響を与える可能性があります。

Read next

ネットワークプロトコルの早わかり IPプロトコル

この記事の概要 IPプロトコル(インターネット・プロトコル)はネットワーク層で動作します。ネットワーク層は、あるコンピュータから別のコンピュータにデータを転送し、そのコンピュータがリモートネットワーク上にある場合でも転送します。

Nov 15, 2023 · 9 min read