Image

ナレッジベース → Ubuntu 20.04 での vsftpd FTP サーバーのインストールと構成

[仮想サーバー]
公開日: 06.06.2023

サーバーにデータを転送し、ファイルやフォルダを操作するには、FTPサーバーをインストールする必要があります。今回は、Ubuntu 20.04をサーバーとして使用し、FTPサーバーとしてvsftpdを選択しました。このFTPサーバーは、設定が簡単で高速なため、人気のあるproftpdとは異なる選択肢です。クライアントとしては、FileZilla、Total Commander、またはmcなどを使用できます。

すべての設定はrootユーザーとして行いますが、通常のユーザーを使用している場合は、コマンドの前にsudoを追加してください。


1. サービスをインストールします

apt update
apt install vsftpd
systemctl start vsftpd
systemctl enable vsftpd


2. 設定を行います

元の設定ファイルのバックアップを作成します:

cp /etc/vsftpd.conf  /etc/vsftpd.conf_default

ユーザーを追加し、そのパスワードを設定します:

useradd -m testuser
passwd testuser

ファイアウォールを設定します。ここではiptablesを使用します:

iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
/sbin/iptables-save > /etc/iptables/rules.v4

通常、ユーザーは書き込み権限が必要です。サーバー設定でこれを許可します:

nano /etc/vsftpd.conf

write_enable=YES

設定ファイルを保存するには、Ctrl + OとEnter、終了するにはCtrl + Xを押します。その後、サービスを再起動します:

systemctl restart vsftpd.service


基本設定は完了しましたが、特定のディレクトリ(たとえば、ドメインのフォルダ)に対してFTPアクセスを設定することがよくあります。このために、ユーザーのデフォルトディレクトリを変更し、ユーザーをwww-dataグループに追加し、フォルダとファイルに対してグループの書き込み権限を付与します。デフォルトでは、書き込み権限はユーザーのみに設定されています。

usermod -d /var/www/ testuser
usermod -a -G www-data testuser
find /var/www -type d -exec chmod 775 {} \;
find /var/www -type f -exec chmod 664 {} \;


これで、指定したパスでユーザーがファイルやフォルダを操作できるようになりました。複数のサイトがある場合、それぞれにFTPユーザーを追加することができます。デフォルトでは、ユーザーは指定されたフォルダ内のサブディレクトリにしかアクセスできず、それ以上上位のディレクトリにはアクセスできません。





No Comments Yet