在Ubuntu上配置vsftpd以支持多站點,可以按照以下步驟進行:
首先,確保你已經安裝了vsftpd。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install vsftpd
編輯vsftpd的主配置文件 /etc/vsftpd.conf
:
sudo nano /etc/vsftpd.conf
在文件中添加或修改以下配置項:
# 啟用本地用戶登錄
local_enable=YES
# 啟用寫權限
write_enable=YES
# 允許匿名用戶上傳文件
anon_upload_enable=YES
# 允許匿名用戶下載文件
anon_mkdir_write_enable=YES
# 設置本地用戶的根目錄
local_root=/home/vsftpd/$USER
# 設置匿名用戶的根目錄
anon_root=/var/ftp
# 啟用虛擬用戶(可選)
guest_enable=YES
guest_username=vsftpd
# 設置虛擬用戶的根目錄
virtual_use_local_privs=YES
local_root=/home/vsftpd/$USER
# 設置虛擬用戶的家目錄
chroot_local_user=YES
allow_writeable_chroot=YES
# 啟用被動模式
pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100
如果你希望使用虛擬用戶而不是本地用戶,可以按照以下步驟進行配置:
sudo touch /etc/vsftpd/virtual_users.txt
sudo chmod 666 /etc/vsftpd/virtual_users.txt
sudo nano /etc/vsftpd/virtual_users.txt
在文件中添加虛擬用戶信息,例如:
user1
password1
user2
password2
sudo touch /etc/pam.d/vsftpd.virtual
sudo chmod 644 /etc/pam.d/vsftpd.virtual
編輯 /etc/pam.d/vsftpd.virtual
文件:
sudo nano /etc/pam.d/vsftpd.virtual
添加以下內容:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users.txt
account required pam_userdb.so db=/etc/vsftpd/virtual_users.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
編輯 /etc/vsftpd.conf
文件,添加以下內容:
# 啟用虛擬用戶
guest_enable=YES
guest_username=vsftpd
# 設置虛擬用戶的根目錄
virtual_use_local_privs=YES
local_root=/home/vsftpd/$USER
# 設置虛擬用戶的家目錄
chroot_local_user=YES
allow_writeable_chroot=YES
# 啟用PAM認證
pam_service_name=vsftpd.virtual
保存并關閉所有配置文件后,重啟vsftpd服務以應用更改:
sudo systemctl restart vsftpd
確保防火墻允許FTP流量。如果你使用的是UFW,可以運行以下命令:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 50000:50100/tcp
使用FTP客戶端連接到服務器,測試是否可以正常訪問和上傳下載文件。
通過以上步驟,你應該能夠在Ubuntu上成功配置vsftpd以支持多站點。