デフォルトの FTP ディレクトリを変更するにはどうすればいいですか?

デフォルトの FTP ディレクトリを変更するにはどうすればいいですか?

pem ファイルを使用して FTP に接続すると、正常に接続され、デフォルトでは次のディレクトリが表示されます。/home/ubuntu

/home/ubuntu今、ディレクトリを に変更しようとしています/var/www/myApplication。私は Linux 初心者ですが、どのコマンドを使用すればよいか教えていただけますか?

vsftpdフォルダー内にフォルダー/ファイルがない場合、デフォルトの FTP パスを確認するにはどうすればよいでしょうか/etc?

答え1

ftp ディレクトリはデフォルトでユーザーのHOMEディレクトリに設定されるため、目的を達成する最も簡単な方法は、新しいユーザーを作成し、そのユーザーのHOMEディレクトリを次のように設定することです/var/www/myApplication

usermod -d /var/www/myApplication/ exampleuser

あなたがしたい場合は制限このディレクトリへのアクセスを設定する必要があります

chroot_local_user=YES

vsftpd.conf、次のコマンドを実行して vsftpd サービスを再起動します。

service vsftpd restart

見るUnix & Linux: Centos / Linux インストールで特定の /dir/ アクセスのみを持つ FTP ユーザーを作成する方法


もっと簡単な方法があるかもしれません。ここ:

vsftpd のデフォルトのログイン ディレクトリを変更するには、次の ftp ユーザーのホーム ディレクトリを変更します/etc/passwdftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false

ftp ユーザー (userID=116) のホーム ディレクトリが に変更されました/var/vsftpd。これにより、デフォルト/匿名/不明なユーザーが特定の場所 (/var/vsftpd) にアクセスできるようになります。

答え2

どのように設定したかはよくわかりませんが、 をインストールする必要がありますvsftpd

手順:

  1. インストールvsftpd

    sudo apt-get install vsftpd
    
  2. バックアップを作成vsftpd.conf:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
    
  3. ファイアウォール ルールを設定します。

    sudo ufw allow 20/tcp
    sudo ufw allow 21/tcp
    sudo ufw allow 990/tcp
    sudo ufw allow 40000:50000/tcp
    sudo ufw status
    
    • ファイアウォールがない場合は、以下をインストールしてください:

      • sudo apt-get install ufw
      • 有効にする:sudo ufw enabe
  4. ユーザーを作成し、ホームディレクトリをこれに設定します/var/www/ftp/myApplication

    • ftp他のユーザー用にさらにフォルダーを追加する必要がある場合に備えて、上記のように追加のフォルダーを作成します。
    • ユーザーを作成:

      sudo usermod -d /var/www/ftp/myApplication ftpuser
      
  5. 所有権を設定し、次のコマンドで書き込み権限を削除してください。

    sudo chown nobody:nogroup /var/www/ftp
    sudo chmod a-w /var/www/ftp
    
  6. フォルダに所有権をmyApplicationユーザーに割り当てるftpuser

    sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
    
  7. セットアップで/etc/vsftpd.confは次の構成を追加します。

    # Allow anonymous FTP? (Disabled by default).
    anonymous_enable=NO
    #
    # Uncomment this to allow local users to log in.
    local_enable=YES
    write_enable=YES
    
    # Prevent the FTP-connected user from accessing any files or commands outside 
    # the directory tree
    chroot_local_user=YES
    
    # Add a user_sub_token in order to insert the username in our local_root directory 
    # path so our configuration will work for this user and any future users that might 
    # be added
    
    user_sub_token=$USER
    local_root=/var/www/ftp
    
    # Set up the configuration so that access is given to a user only when they 
    # are explicitly added to a list rather than by default
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO
    
  8. ユーザーを作成して user_list に追加します。

    echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
    
  9. daemon新しい構成をロードするには再起動してください:

    sudo systemctl restart vsftpd
    

出典:

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04

関連情報