GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu 20.04 に VSFTP をインストールする方法

VSFTP を Ubuntu 20.04 にインストールします。このガイドでは、FTP サーバーをセットアップし、特定のディレクトリへのアクセスを chroot としてユーザーに提供する方法を学びます。

このセットアップは、Ubuntu 20.04 LTS を実行している Google Compute Engine VM インスタンスでテストされています。

したがって、このセットアップは、AWS EC2 インスタンス、DigitalOcean、またはその他のクラウド ホスティング サーバー、VPS、または専用の仮想マシンで正常に機能します。

Google Cloud の前提条件

Google Cloud Platform を使用して FTP をセットアップしている場合は、次の手順を実行する必要があります。

<オール>
  • 実行中の Compute Engine。Ubuntu 20.04 での Compute Engine インスタンスの設定をご覧ください。
  • Ubuntu サーバーの初期セットアップを完了しました。
  • FTP の設定手順

    <オール>
  • 仮想マシン インスタンスを設定する
  • サーバーの初期設定を完了する
  • ファイアウォール ルールを構成する
  • 新しいユーザーを作成
  • VSFTP 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 をセットアップする方法を学習しました。

    御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。


    Linux
    1. Ubuntu18.04にDockerをインストールする方法

    2. Ubuntu18.04にApacheをインストールする方法

    3. Ubuntu 22.04 に Docker をインストールする方法

    1. Ubuntu18.04にMariaDB10.4をインストールする方法

    2. Ubuntu18.04にMongoDBをインストールする方法

    3. Ubuntu18.04にJenkinsをインストールする方法

    1. Ubuntu20.04にClickHouseをインストールする方法

    2. Ubuntu20.04にKVMをインストールする方法

    3. UbuntuにWebminをインストールする方法