ローカル FTP サーバーのセットアップ
このステップでは、LabEx VM 環境で vsftpd (Very Secure FTP Daemon) を使用してローカル FTP サーバーをセットアップします。FTP (File Transfer Protocol、ファイル転送プロトコル) は、ネットワーク上のクライアントとサーバー間でファイルを転送するために使用される標準的なネットワークプロトコルです。コンピューター間のファイル配信を処理するデジタル郵便局のようなものと考えてください。
まず、vsftpd パッケージをインストールする必要があります。このコマンドは、パッケージリストを更新し、FTP サーバーソフトウェアをインストールします。
sudo apt-get update && sudo apt-get install -y vsftpd
インストール後、デフォルトの構成ファイルのバックアップを作成することをお勧めします。これにより、必要に応じていつでも元の設定を復元できます。
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
次に、Linux のシンプルなテキストエディタである nano を使用して構成ファイルを編集します。このファイルは、FTP サーバーの動作を制御します。
sudo nano /etc/vsftpd.conf
構成ファイル内で、これらの重要な設定を変更する必要があります。これらの変更により、次のようになります。
匿名アクセスを無効にする (セキュリティのため)
ローカルユーザーがログインできるようにする
ファイルのアップロードを許可する
ユーザーをホームディレクトリに制限する (安全のため)
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
次のコマンドを実行して、変更を確認できます。
grep -E "^(anonymous_enable|local_enable|write_enable|chroot_local_user|allow_writeable_chroot)=" /etc/vsftpd.conf | cat
これらの変更を加えたら、Ctrl+O (Write Out) を押してファイルを保存し、Ctrl+X で nano を終了します。
次に、vsftpd サービスを再起動して、構成の変更を適用する必要があります。これは、新しい設定でサーバーを更新するようなものです。
sudo service vsftpd restart
次に、FTP アクセス専用のテストユーザーアカウントを作成します。-m フラグはホームディレクトリを作成し、-s はデフォルトのシェルを設定します。
sudo useradd -m ftpuser -s /bin/bash
sudo passwd ftpuser
プロンプトが表示されたら、パスワードを password123 に設定します。これはテスト目的でのみこの単純なパスワードを使用しています。実際の状況では、常に強力なパスワードを使用する必要があります。
FTP テスト用の特別なディレクトリを作成し、適切な権限を設定しましょう。これにより、テストユーザーがこのフォルダー内のファイルにアクセスして変更できるようになります。
sudo mkdir -p /home/ftpuser/ftp_test
sudo chown ftpuser:ftpuser /home/ftpuser/ftp_test
最後に、FTP サーバーが正しく実行されていることを確認する必要があります。このコマンドは、vsftpd サービスのステータスを確認します。
sudo service vsftpd status
サービスがアクティブ (実行中) であることを示す出力が表示されるはずです。エラーが表示される場合は、構成手順を確認する必要があるかもしれません。