在 Debian 上,vsftpd 本身并不管理用户密码,它通常使用系统用户或虚拟用户。因此“重置 vsftp 密码”其实就是重置对应 FTP 账号的密码。下面按常见情况说明。
如果你是用系统用户登录 FTP(比如 ftpuser),直接改系统密码即可。
grep -E "local_enable" /etc/vsftpd.conf
如果 local_enable=YES,说明可以使用系统用户。
sudo passwd ftpuser
按提示输入新密码即可。
ftp localhost
或用 FileZilla 登录测试。
如果你的 vsftpd 配置了虚拟用户(常见于 virtual_use_local_privs、guest_enable),密码通常存放在:
/etc/vsftpd/virtual_users.txtgrep -R "guest" /etc/vsftpd.conf
grep -R "pam" /etc/vsftpd.conf
例如:
cat /etc/vsftpd/virtual_users.txt
内容类似:
user1
password1
user2
password2
重置步骤:
sudo nano /etc/vsftpd/virtual_users.txt
# 修改对应用户密码
# 重新生成 db 文件
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
# 修复权限
sudo chmod 600 /etc/vsftpd/virtual_users.db
sudo systemctl restart vsftpd
查看当前 FTP 登录用户:
sudo tail -f /var/log/vsftpd.log
# 或
sudo journalctl -u vsftpd
sudo systemctl status vsftpd
如果你能贴出:
/etc/vsftpd.conf我可以给你更精确的一步到位命令。