如何更改預設 ftp 目錄?

如何更改預設 ftp 目錄?

當我使用 pem 檔案連接 FTP 時,它連接正常,預設情況下,它顯示此目錄:/home/ubuntu

現在我正在嘗試將/home/ubuntu目錄更改為/var/www/myApplication.我是 Linux 新手,誰能告訴我需要使用哪些指令?

我怎麼才能看到預設的 ftp 路徑,而我的資料夾中沒有vsftpd資料夾/檔案/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

相關內容