# ftp server under Linux 1. Install packages sudo apt install vsftpd libpam-pwdfile 2. modify /etc/vsftpd.conf * write_enable=YES * local_umask=022 * allow_writeable_chroot=YES * /*加入以下資訊*/ * local_root=/home/tmp/ *(這是登入的根目錄)*/ 3. 新增一個不能登入 OS 的 ftpuser使用者 ```shell= sudo useradd -M -s /usr/sbin/nologin ftpuser rem -M: Do not create the user's home directory. rem -s: The name of the user's login shell. ``` 4. 新增此 user 帳號的密碼 sudo passwd ftpuser prompt : password (twice) 5. 新增與設定資料夾權限 ```shell= sudo mkdir /home/{user}/_temp_ sudo chmod 777 /home/{user}/_temp_ sudo chown ftpuser:ftp -R /home/{user}/_temp_ ``` 6. 設定完成後,可以透過下列指令確認權限是否更改正確 ls -laF /home/{user}/_temp_/ sudo useradd -M -s /usr/sbin/nologin ftpuser 7. 重新啟動 vsftpd 服務 /etc/init.d/vsftpd restart service vsftpd status 8. 使用 FileZilla client 連線 local UBUNTU existed account {user} / ???????? 9. 伺服器設定超過一些數值參數之後它的內部會產生錯誤internal error 無法恢復,需要重新回到原廠設置factory default才可以下載,所以注注意設定參數值。 https://linuxize.com/post/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-20-04/