web-dev-qa-db-ja.com

デフォルトのFTPディレクトリを変更する方法は?

Pemファイルを使用してFTPで接続すると、問題なく接続され、デフォルトでは次のディレクトリが表示されます:/home/ubuntu

現在、/home/ubuntuディレクトリを/var/www/myApplicationに変更しようとしています。私はLinuxを初めて使用するのですが、どのコマンドを使用する必要があるか誰にでもわかりますか?

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

2
Mr world wide

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のデフォルトのログインディレクトリを変更するには、/etc/passwdのftpユーザーのホームディレクトリを変更します:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false

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

4
dessert

これをどのように設定したか本当にわかりませんが、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

3
George Udosen