sudo useradd -m ftpuser1 # -m 选项会创建用户主目录
sudo passwd ftpuser1 # 设置用户密码
sudo apt-get install vsftpd # Ubuntu/Debian
sudo yum install vsftpd # CentOS/RHEL
sudo nano /etc/vsftpd.conf
确保包含以下关键配置:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
sudo systemctl restart vsftpd
sudo usermod -d /path/to/ftp_directory ftpuser1
sudo chown ftpuser1:ftpuser1 /path/to/ftp_directory
sudo chmod 755 /path/to/ftp_directory
sudo usermod -s /usr/sbin/nologin ftpuser1
sudo userdel ftpuser1
sudo rm -rf /home/ftpuser1
sudo groupadd ftpusers
sudo usermod -aG ftpusers ftpuser1
sudo chown -R ftpuser1:ftpusers /path/to/ftp_directory
sudo chmod -R 775 /path/to/ftp_directory
编辑 /etc/vsftpd.user_list
和 /etc/vsftpd.chroot_list
文件来控制哪些用户可以访问 FTP 和被限制在主目录中。
连接被拒绝:
sudo ufw allow 20/tcp
和 sudo ufw allow 21/tcp
sudo systemctl status vsftpd
无法上传文件:
sudo chmod 755 /path/to/directory
write_enable=YES
530 Login incorrect:
/etc/pam.d/vsftpd
配置以上步骤适用于大多数 Linux 发行版,具体细节可能因发行版和 FTP 服务器软件版本略有不同。