温馨提示×

如何重置ubuntu ftpserver密码

小樊
43
2026-09-02 12:10:30
栏目: 智能运维

在 Ubuntu 上“重置 FTP 服务器密码”具体做法,取决于你用的是哪种 FTP 服务以及用户类型。下面按最常见情况说明。


一、先确认你用的是哪种 FTP 服务

常见 FTP 服务:

  • vsftpd(最常见)
  • proftpd
  • pure-ftpd

查看是否已安装:

dpkg -l | grep -E "vsftpd|proftpd|pure-ftpd"

二、FTP 用户是「系统用户」(最常见)

如果你的 FTP 账号就是 Ubuntu 系统用户(如 ftpuser),直接重置系统密码即可。

1. 查看 FTP 用户

grep ftp /etc/passwd

cat /etc/vsftpd.conf | grep user

2. 重置密码

sudo passwd ftpuser

按提示输入新密码即可。

✅ 修改后立即生效,无需重启 FTP 服务。


三、FTP 用户是「虚拟用户」(vsftpd 常见)

虚拟用户不是系统用户,密码存储在单独文件中。

情况 A:使用 db_load 的 vsftpd 虚拟用户

1. 找到用户密码文件

通常在:

/etc/vsftpd/virtual_users.txt

内容类似:

ftpuser1
oldpassword
ftpuser2
oldpassword

2. 修改密码

sudo nano /etc/vsftpd/virtual_users.txt

改对应密码后保存。

3. 重新生成数据库

sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

4. 重启服务

sudo systemctl restart vsftpd

情况 B:使用 MySQL / PAM 的虚拟用户

如果是数据库存储(如 vsftpd + MySQL):

mysql -u root -p
USE vsftpd;
UPDATE users SET password=PASSWORD('newpassword') WHERE user='ftpuser';

或修改明文(取决于配置):

UPDATE users SET password='newpassword' WHERE user='ftpuser';

四、ProFTPD 用户密码

如果是系统用户:

sudo passwd ftpuser

如果是 AuthUserFile

sudo ftpasswd --passwd --name=ftpuser --change-password

五、Pure-FTPD 用户密码

sudo pure-pw passwd ftpuser
sudo pure-pw mkdb

六、常见问题

FTP 登录还是失败?

  • 检查用户是否被锁定:
sudo passwd -S ftpuser
  • 检查 vsftpd 配置:
local_enable=YES
write_enable=YES

七、我可以更精确地帮你

你可以告诉我:

  1. 使用的 FTP 软件(vsftpd / proftpd / pure-ftpd)
  2. 是系统用户还是虚拟用户
  3. Ubuntu 版本(lsb_release -a

我可以给你完全对应你环境的命令

0