VSFTP を Ubuntu 20.04 にインストールします。このガイドでは、FTP サーバーをセットアップし、特定のディレクトリへのアクセスを chroot としてユーザーに提供する方法を学びます。
このセットアップは、Ubuntu 20.04 LTS を実行している Google Compute Engine VM インスタンスでテストされています。
したがって、このセットアップは、AWS EC2 インスタンス、DigitalOcean、またはその他のクラウド ホスティング サーバー、VPS、または専用の仮想マシンで正常に機能します。
Google Cloud の前提条件
Google Cloud Platform を使用して FTP をセットアップしている場合は、次の手順を実行する必要があります。
<オール>FTP の設定手順
<オール>サーバーのセットアップと構成が完了していると思います。
ファイアウォール ルールの設定
任意のポートで FTP を構成できます。ここでは、デフォルト ポート 21 で構成するため、これらのポートへのアクセスを提供するファイアウォール ルールを作成する必要があります。
また、パッシブ モード接続用にポート 40000 ~ 50000 を開きます。
VPC ネットワーク>> ファイアウォール ルールに移動し、[ファイアウォール ルールの作成] をクリックします。
名前で ftp
を入力してください
ターゲットで All instances in the network
を選択
ソース フィルタで IP ranges
を選択
ソース IP 範囲 0.0.0.0/0
を入力してください
プロトコルとポート TCP を確認してください 20, 21, 990, 40000-50000
と入力します .
[作成] をクリックします .
UFW で FTP ポートを許可する
サーバーで UFW を使用している場合は、必ずポートを開いてサーバーへの接続を許可してください。そうしないと接続できません。
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp
新しいユーザーを作成
これで、次のコマンドを使用して新しいユーザーを作成し、FTP をテストできます。
sudo useradd -m -c "Name, Role" -s /bin/bash username
そのユーザーのパスワードを設定します。
sudo passwd username
VSFTP サーバーをインストール
VSFTP は非常に安全なファイル転送プロトコルです Linux ベースのシステム用。デフォルトでは、AWS または Google Cloud は仮想マシン インスタンスへのパスワード ベースの認証を許可しません。
VSFTP を使用すると、独自の FTP サーバーを実行し、ユーザーを作成して任意のディレクトリに割り当て、chroot を使用して他のディレクトリへのアクセスを防ぐこともできます。
これで、次のコマンドを使用して VSFTP をインストールできます。
sudo apt install vsftpd
インストールが完了したら、VSFTP を構成できます。
VSFTP を構成する
元の VSFTP 構成ファイルのバックアップを作成することから始めます。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
vsftpd.conf
を編集します ファイルに次の変更を加えます。
sudo nano /etc/vsftpd.conf
変更 次のディレクティブ。
listen=YES listen_ipv6=NO
コメント解除 次のディレクティブ。
write_enable=YES local_umask=022 chroot_local_user=YES
追加
seccomp_sandbox=NO allow_writeable_chroot=YES userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER user_config_dir=/etc/vsftpd/user_config_dir pasv_min_port=40000 pasv_max_port=50000
ここで userlist_file
を設定しました FTP ユーザーと user_config_dir
のリストを保持します ユーザー固有の構成を保持します。
以前に作成したユーザーを userlist
に追加します ファイル。
echo "username" | sudo tee -a /etc/vsftpd.userlist
このコマンドは vsftpd.userlist
という名前のファイルを作成します それにユーザーを追加し、追加されたユーザーをターミナルに出力します。
user_config_dir
という名前のディレクトリを作成します ユーザー固有の構成を保持します。
sudo mkdir -p /etc/vsftpd/user_config_dir
このディレクトリ内にユーザー名と同じ名前の新しいファイルを作成します。
sudo nano /etc/vsftpd/user_config_dir/username
そのファイルに次の行を追加してください。
local_root=/path/to/your/directory
ファイルを保存してエディターを終了します。
最後に VSFTP を再起動します。
sudo systemctl restart vsftpd
SSH アクセスを禁止する
DenyUsers
を追加して、新しく作成したユーザーへの SSH アクセスを防止する必要があります。 sshd_config
のディレクティブ .
sudo nano /etc/ssh/sshd_config
ファイルの末尾に次の行を追加します。
DenyUsers username other-user
スペースで区切って複数のユーザーを追加できます。
SSH を再起動してください。
sudo systemctl restart ssh
情報技術の専門家として働く役割に備える Linux オペレーティング システムで
設定を確認する
次に、FTP クライアントを開き、サーバーの外部 IP アドレスをホスト名として、ポートを 21 として、ユーザー名と前に作成したユーザー名、およびパスワードを入力します。
これでサーバーにログインし、自分に割り当てられたフォルダーにのみアクセスできます。
結論
これで、Ubuntu 20.04 の VM インスタンスに FTP をセットアップする方法を学習しました。
御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。