在Ubuntu上設置FTP服務器并配置用戶認證,可以使用多種FTP服務器軟件,如vsftpd、ProFTPD或Pure-FTPd等。下面以vsftpd為例,介紹如何設置用戶認證。
打開終端并更新包列表:
sudo apt update
安裝vsftpd:
sudo apt install vsftpd
編輯vsftpd配置文件:
sudo nano /etc/vsftpd.conf
進行以下配置:
啟用本地用戶登錄:
local_enable=YES
啟用寫權限(可選):
write_enable=YES
允許本地用戶上傳文件(可選):
local_umask=022
啟用被動模式(可選,如果需要通過防火墻):
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
啟用用戶認證:
auth_enable=YES
使用PAM進行用戶認證(可選,但推薦):
pam_service_name=vsftpd
保存并退出編輯器(在nano中按Ctrl+X,然后按Y確認,最后按Enter)。
如果你選擇使用PAM進行用戶認證,需要創建或編輯PAM服務文件:
創建PAM服務文件:
sudo nano /etc/pam.d/vsftpd
添加以下內容:
auth required pam_userdb.so db=/etc/vsftpd/user_list
account required pam_userdb.so db=/etc/vsftpd/user_list
保存并退出編輯器。
創建一個新的系統用戶(例如ftpuser):
sudo adduser ftpuser
設置用戶的FTP密碼:
sudo passwd ftpuser
將用戶添加到/etc/vsftpd/user_list文件中以啟用該用戶登錄:
echo "ftpuser" | sudo tee -a /etc/vsftpd/user_list
sudo systemctl restart vsftpd
如果你使用的是UFW防火墻,需要允許FTP流量:
允許FTP控制端口(默認21):
sudo ufw allow 21/tcp
允許被動模式端口范圍(例如1024到1048):
sudo ufw allow 1024:1048/tcp
重新加載防火墻規則:
sudo ufw reload
完成以上步驟后,你應該能夠使用新創建的FTP用戶通過FTP客戶端連接到你的Ubuntu服務器并進行認證。