Ubuntu vsftpd權限設置主要涉及用戶權限、目錄權限及安全配置,以下是關鍵要點:
系統用戶創建
sudo useradd -m -s /sbin/nologin ftpuser # 禁止登錄系統
sudo passwd ftpuser # 設置密碼
配置文件權限控制
/etc/vsftpd.conf:
local_enable=YES:允許本地用戶登錄。write_enable=YES:允許上傳/刪除文件。chroot_local_user=YES:限制用戶僅能訪問其主目錄。allow_writeable_chroot=YES:允許chroot目錄可寫(避免權限沖突)。userlist_enable=YES + userlist_file=/etc/vsftpd.user_list:通過白名單控制可登錄用戶。sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp # 所有權歸用戶
sudo chmod 755 /home/ftpuser/ftp # 主目錄可讀可執行(不可寫,避免越權)
sudo mkdir /home/ftpuser/ftp/upload
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload
sudo chmod 775 /home/ftpuser/ftp/upload # 允許用戶讀寫執行
被動模式端口范圍
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墻規則
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
加密傳輸(可選)
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
sudo systemctl restart vsftpd
關鍵安全原則:
anonymous_enable=NO)。chroot_local_user=YES),避免越權訪問系統文件。755),防止誤操作破壞系統。