温馨提示×

如何设置ubuntu ftpserver用户

小樊
48
2026-10-02 14:11:58
栏目: 智能运维

在 Ubuntu 上搭建 FTPS(FTP over SSL/TLS)服务器 并正确设置用户,通常推荐使用 vsftpd。下面我从「安装 → 配置 FTPS → 创建用户 → 权限设置」一步步说明。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

安装完成后:

sudo systemctl status vsftpd

确保服务是 active (running)。


二、生成 SSL 证书(FTPS 必需)

sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem \
-out /etc/ssl/private/vsftpd.pem

⚠️ 该证书是自签名的,生产环境建议使用 CA 证书。


三、配置 vsftpd(FTPS)

编辑配置文件:

sudo nano /etc/vsftpd.conf

基础 FTPS 配置(追加或覆盖)

listen=YES
listen_ipv6=NO

anonymous_enable=NO
local_enable=YES
write_enable=YES

chroot_local_user=YES
allow_writeable_chroot=YES

# SSL / TLS
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_logins_ssl=YES
force_local_data_ssl=YES

pasv_min_port=40000
pasv_max_port=50000

保存后重启:

sudo systemctl restart vsftpd

四、创建 FTP 用户

方式 1:使用系统用户(推荐)

sudo adduser ftpuser

设置密码后,该用户即可使用 FTPS 登录。

默认家目录:

/home/ftpuser

方式 2:禁止 SSH 登录(仅 FTP)

如果只希望该用户使用 FTP,不能 SSH:

sudo usermod -s /usr/sbin/nologin ftpuser

五、限制用户只能访问自己的目录

vsftpd 默认已启用:

chroot_local_user=YES

如需 例外用户(可切换目录):

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

然后在文件中加入用户名:

sudo nano /etc/vsftpd.chroot_list
admin

六、防火墙设置(如启用)

sudo ufw allow 21
sudo ufw allow 40000:50000/tcp

七、测试 FTPS 登录

使用 FileZilla

  • 主机:ftp://服务器IP
  • 协议:FTP
  • 加密:要求显式 FTP over TLS
  • 用户 / 密码:ftpuser

八、常见问题

1. 登录后无法上传

确认:

write_enable=YES
allow_writeable_chroot=YES

2. 530 Login incorrect

  • 用户被锁定
  • shell 设置错误(应为 /bin/bash 或 /usr/sbin/nologin)

3. 被动模式连不上

检查防火墙和 pasv_* 端口


如果你需要:

  • 虚拟用户(非系统用户)
  • 多用户不同目录
  • 结合 MySQL / PAM

可以继续告诉我你的使用场景。

0 踩