在 Linux 上搭建 FTP 服务器(常见如 vsftpd),“设密码”本质上是给系统用户或虚拟用户设置登录密码。下面按常见场景说明。
# Ubuntu / Debian
sudo apt install vsftpd
# CentOS / Rocky / Alma
sudo yum install vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
输入两次密码即可。
编辑配置文件:
sudo vim /etc/vsftpd.conf
确保有以下内容:
local_enable=YES
write_enable=YES
sudo systemctl restart vsftpd
✅ 此时用 ftpuser / 密码 即可登录 FTP。
sudo usermod -s /sbin/nologin ftpuser
如果 vsftpd 报错,可改为:
sudo usermod -s /bin/false ftpuser
虚拟用户不属于系统用户,密码单独管理。
sudo vim /etc/vsftpd/vusers.txt
内容:
user1
password1
user2
password2
sudo db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db
sudo vim /etc/pam.d/vsftpd
写入:
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
重启 vsftpd 即可。
sudo ufw allow 21
sudo setsebool -P ftp_home_dir on
pasv_min_port=30000
pasv_max_port=31000
useradd + passwdvusers.txt + db_load如果你告诉我:
我可以给你一套可直接复制执行的配置。